1. 程式人生 > >MapReduce之reducer任務執行流程詳解

MapReduce之reducer任務執行流程詳解

第一階段是 Reducer 任務會主動從 Mapper 任務複製其輸出的鍵值對。Mapper 任務可能會有很多,因此 Reducer 會複製多個 Mapper 的輸出。
第二階段是把複製到 Reducer 本地資料,全部進行合併,即把分散的資料合併成一個大的資料。再對合並後的資料排序。
第三階段是對排序後的鍵值對呼叫 reduce 方法。鍵相等的鍵值對呼叫一次reduce 方法,每次呼叫會產生零個或者多個鍵值對。最後把這些輸出的鍵值對寫入到 HDFS 檔案中。
在整個  MapReduce 程式的開發過程中,我們最大的工作量是覆蓋 map 函式和覆蓋 reduce 函式。