MapReduce简述
概念
- 面向批处理的分布式计算框架;
- 一种编程模型,分为Map(映射)和Reduce(化简)阶段
核心思想
- 分而治之,并行计算;
- 移动计算而非移动数据
特点
- 计算跟着数据走
- 良好的扩展性(计算能力随着节点数增加近似线性递增)
- 高容错
- 适合海量数据的离线批处理
- 降低了分布式编程的门槛
不适合的场景
- 流计算(输入数据集是动态的,MapReduce是静态的)
- OLAP(毫秒或秒级别返回结果)
- DAG计算
-多个作业存在依赖关系,后一个的输入是前一个的输出,构成有向无环图DAG
-每个MapReduce作业的输出结果都会落盘,造成大量的磁盘IO,导致性能非常低下
缺点
慢,大量的落盘和读盘操作,IO频繁,大量的网络传输
原理
作业提交原理
B站有博主总结挺好,就直接备份了