Shuffle机制

MapReduce确保每个reducer的输入都是按键排序,系统执行排序的过程(将map的输入作为输出传给reducer)
Shuffle机制_第1张图片
Shuffle机制_第2张图片

  1. map方法 写入数据进入缓冲区
    Shuffle机制_第3张图片
    2.溢写
    分区
    排序
    在这里插入图片描述

    combiner为可选的流程
    Shuffle机制_第4张图片
    如果设置了,就会进行合并多次溢写的操作
    spill.index:溢写文件的大小,位置信息
    spill.out:溢写文件

多次溢写
Shuffle机制_第5张图片
再一次combiner为可选的流程,设置了
如果设置了对数据进行了压缩,也是优化的手段
协调了网络传输

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

4.Map方法拷贝数据
Shuffle机制_第6张图片
分别拷贝各自管理的分区,如果内存不够,溢写到磁盘中
Shuffle机制_第7张图片
优化提高内存缓冲
5. 归并排序并分组
6.Shuffle机制_第8张图片

你可能感兴趣的:(Shuffle机制)