MapTask工作机制

 

Read阶段:

首先读取文件,然后对文件进行切片,大小为默认128M,并交给MapTask解析出一个个

K/V键值对

Map阶段:

将解析出来的键值对交给用户编写的业务逻辑执行,处理这些数据,并调用

context.write()

Collert收集阶段:

context.write处理数据,调用Partitioner生成分区,并把数据写入环形缓冲区中

Spill阶段:

当环形缓冲区中的数据达到预设值的80%时,Mapreduce会将数据进行区内排序,然后写到磁盘

Merge归并排序:

Spill阶段环形缓冲区可能会产生多次数据,对相同分区内的数据进行整体排序

Combiner合并:

如果开启了Combiner排序,执行完Merge排序后会以分区为单位,把键相同的数据的值

进行合并,减少了数据的体积,提高传输的效率

 

posted @ 2021-06-16 10:18  会飞的鹅  阅读(92)  评论(0)    收藏  举报