MapReduce确保每个reducer的输入都是按键排序,系统执行排序的过程(将map的输入作为输出传给reducer)
map方法 写入<key,value>数据进入缓冲区
2.溢写
分区
排序
combiner为可选的流程
如果设置了,就会进行合并多次溢写的操作
spill.index:溢写文件的大小,位置信息
spill.out:溢写文件
…
多次溢写
再一次combiner为可选的流程,设置了
如果设置了对数据进行了压缩,也是优化的手段
协调了网络传输
3.写入磁盘.等待reduceTask 进行操作
4.Map方法拷贝数据
分别拷贝各自管理的分区,如果内存不够,溢写到磁盘中
优化提高内存缓冲
5. 归并排序并分组
6.