1. shuffle过程如下图所示
shuffle指的是把数据从map的输出导入到负责Reduce的程序的过程,是mapreduce编程模型中连接map阶段和reduce阶段的最重要环节。
2. 具体过程描述
- (1)MRAPPmaster启动map task进程
- (2)map task 向 MRAPPmaster汇报处理结果,结果文件所在位置,分区的信息
- (3)MRAPPmaster启动reduce task,并 通知reduce task要取哪一个分区的数据、数据位置(即主机、文件具体位置)
- (4)reduce task 从内存中下载数据
- (5)合并数据
- (6)reduce task 处理数据
- (7)reduce task 输出处理结果到文件中