Shuffle机制

版权声明:有一种生活不去经历不知其中艰辛,有一种艰辛不去体会,不会知道其中快乐,有一种快乐,没有拥有不知其中纯粹 https://blog.csdn.net/wwwzydcom/article/details/83834671

MapReduce确保每个reducer的输入都是按键排序,系统执行排序的过程(将map的输入作为输出传给reducer)
在这里插入图片描述
在这里插入图片描述

  1. map方法 写入<key,value>数据进入缓冲区
    在这里插入图片描述
    2.溢写
    分区
    排序
    在这里插入图片描述

    combiner为可选的流程
    在这里插入图片描述
    如果设置了,就会进行合并多次溢写的操作
    spill.index:溢写文件的大小,位置信息
    spill.out:溢写文件

多次溢写
在这里插入图片描述
再一次combiner为可选的流程,设置了
如果设置了对数据进行了压缩,也是优化的手段
协调了网络传输

3.写入磁盘.等待reduceTask 进行操作

4.Map方法拷贝数据
在这里插入图片描述
分别拷贝各自管理的分区,如果内存不够,溢写到磁盘中
在这里插入图片描述
优化提高内存缓冲
5. 归并排序并分组
6.在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/wwwzydcom/article/details/83834671