黑猴子的家 MapReduce 程式執行流程分析

2021-08-30 08:44:13 字數 405 閱讀 4680

1)在mapreduce程式讀取檔案的輸入目錄上存放相應的檔案。

2)客戶端程式在submit()方法執行前,獲取待處理的資料資訊,然後根據集群中引數的配置形成乙個任務,分配規劃。

5)maptask利用客戶指定的inputformat來讀取資料,形成輸入kv對。

6)maptask將輸入kv對傳遞給客戶定義的map()方法,做邏輯運算

7)map()運算完畢後將kv對收集到maptask快取。

8)maptask快取中的kv對按照k分割槽排序後不斷寫到磁碟檔案

11)reducetask運算完畢後,呼叫客戶指定的outputformat將結果資料輸出到外部儲存。

黑猴子的家 為什麼要用MapReduce

1 海量資料在單機上處理因為硬體資源限制,無法勝任 2 而一旦將單機版程式擴充套件到集群來分布式執行,將極大增加程式的複雜度和開發難度 3 引入mapreduce框架後,開發人員可以將絕大部分工作集中在業務邏輯的開發上,而將分布式計算中的複雜 由框架來處理。4 mapreduce分布式方案考慮的問題...

黑猴子的家 Hadoop Checkpoint機制

fsimage和edit log合併的過程如下圖所示 其實這個合併過程是乙個很耗i o與cpu的操作,並且在進行合併的過程中肯定也會有其他應用繼續訪問和修改hdfs檔案。所以,這個過程一般不是在單一的namenode節點上進行從。如果hdfs沒有做ha的話,checkpoint由secondname...

黑猴子的家 FileInputFormat切片機制

1 job提交流程原始碼詳解 waitforcompletion submit 1 建立連線 connect 1 建立提交job的 new cluster getconfiguration 2 判斷是本地yarn還是遠端 initialize jobtrackaddr,conf 2 提交job su...