MapTask工作机制
Read阶段:
首先读取文件,然后对文件进行切片,大小为默认128M,并交给MapTask解析出一个个
K/V键值对
Map阶段:
将解析出来的键值对交给用户编写的业务逻辑执行,处理这些数据,并调用
context.write()
Collert收集阶段:
context.write处理数据,调用Partitioner生成分区,并把数据写入环形缓冲区中
Spill阶段:
当环形缓冲区中的数据达到预设值的80%时,Mapreduce会将数据进行区内排序,然后写到磁盘
Merge归并排序:
Spill阶段环形缓冲区可能会产生多次数据,对相同分区内的数据进行整体排序
Combiner合并:
如果开启了Combiner排序,执行完Merge排序后会以分区为单位,把键相同的数据的值
进行合并,减少了数据的体积,提高传输的效率

浙公网安备 33010602011771号