MapReduce 详细流程图总结
1.mapreduce阶段
- map阶段
- shuffle阶段
- reduce阶段
其中shuffle阶段,俗称奇迹发生的地方,主要是做了多次的分区和排序,并且对中间数据做了落地磁盘的处理,确保了数据安全,同时数据能够按照key进行划分,并且按照key排序。
2.mapreduce详细流程图
3.mapreduce思想总结
- 分布式计算其实就一个思路,如何让程序由多台计算机并行处理
- 程序是由数据+代码组成,这时候顺其自然的,将数据进行划分,将代码流程进行划分。这样每台计算机处理自己部分数据,每台计算机执行自己的步骤。就可以达到分布式计算的目的。
- mapreduce的整体思路也是如此,数据切割为多份,代码流程划分为2的大的步骤,map阶段可以由多台计算机并行执行,分别处理自己部分的数据并进行转换。reduce部分也是如此,每台计算机处理自己部分数据,并进行聚合
- 思路很重要,但最终落地到代码也是关键。
- 针对大量数据处理,在shuffle阶段,每个执行maptask的节点计算机都在内存中创建了一个环形缓冲区,所有数据以key value形式存入时,都