大数据-MapReduce工作机制

MapReduce的工作机制

在这里插入图片描述

(1)通过submit()方法将任务提交给客户端

(2)将通过split()方法得出的切片信息提交给Yarn

(3)NodeManger计算出MapTask数量(MapTask由Block大小决定)

(4)MapTask通过InputFormat类读取文件数据

(5)客户端以(key,value)结构来传输数据

(6)在Mapper阶段执行Mapper类中的map()方法和context.write()方法将数据写入到环形缓冲区

(7)环形缓冲区默认大小为100M,当达到80%时,会进行溢写

(8)在Combiner阶段,可以通过本地化的reduce操作(Combiner)进行优化,对数据进行简单的合并,减少网络之间的传输

(9)根据分区进行归并排序

(10)将归并排序好的数据下载到ReudceTask本地磁盘中

(11)合并文件,再进行归并排序

(12)每次读取一组数据到Reducer阶段当中

(13)在Reducer阶段执行Reducer类中的reduce()方法和context.write()方法,通过OutputFormat类写入到part-r-00000文件当中

猜你喜欢

转载自blog.csdn.net/JavaDestiny/article/details/88608818