1. 程式人生 > >Shuffle機制

Shuffle機制

MapReduce確保每個reducer的輸入都是按鍵排序,系統執行排序的過程(將map的輸入作為輸出傳給reducer)
在這裡插入圖片描述
在這裡插入圖片描述

  1. map方法 寫入<key,value>資料進入緩衝區
    在這裡插入圖片描述
    2.溢寫
    分割槽
    排序
    在這裡插入圖片描述

    combiner為可選的流程
    在這裡插入圖片描述
    如果設定了,就會進行合併多次溢寫的操作
    spill.index:溢寫檔案的大小,位置資訊
    spill.out:溢寫檔案

多次溢寫
在這裡插入圖片描述
再一次combiner為可選的流程,設定了
如果設定了對資料進行了壓縮,也是優化的手段
協調了網路傳輸

3.寫入磁碟.等待reduceTask 進行操作

4.Map方法拷貝資料
在這裡插入圖片描述


分別拷貝各自管理的分割槽,如果記憶體不夠,溢寫到磁碟中
在這裡插入圖片描述
優化提高記憶體緩衝
5. 歸併排序並分組
6.在這裡插入圖片描述