MapReduce简述
概念
- 面向批处理的分布式计算框架;
- 一种编程模型,分为Map(映射)和Reduce(化简)阶段
核心思想
- 分而治之,并行计算;
- 移动计算而非移动数据
特点
- 计算跟着数据走
- 良好的扩展性(计算能力随着节点数增加近似线性递增)
- 高容错
- 适合海量数据的离线批处理
- 降低了分布式编程的门槛
不适合的场景
- 流计算(输入数据集是动态的,MapReduce是静态的)
- OLAP(毫秒或秒级别返回结果)
- DAG计算
-多个作业存在依赖关系,后一个的输入是前一个的输出,构成有向无环图DAG
-每个MapReduce作业的输出结果都会落盘,造成大量的磁盘IO,导致性能非常低下
缺点
慢,大量的落盘和读盘操作,IO频繁,大量的网络传输
原理
作业提交原理
B站有博主总结挺好,就直接备份了
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库