對MapReduce Yarn的深刻理解

2021-10-10 08:11:30 字數 1131 閱讀 8773

1.mapreduce詳細工作流程之map階段

2.mapreduce流程之reduce階段巨集觀上看:reducetask分為四個階段:

1.copy 2.merge 3.sort 4.reduce

1.copy: reducetask將遠端從maptask上覆制過來要處理的資料,針對某一片資料,如果資料的大小超過乙個閾值,則直接儲存在磁碟中,否則直接放到記憶體中。

2.merge:reducetask在遠端複製的同時,後台啟動了兩個執行緒,將硬碟和記憶體中的資料進行合併,樣可以避免記憶體占用過多,或者磁碟檔案過多。

3.sort:按照mapreduce的語義,reduce()的輸入值是按照key進行聚集的一組資料,為了將key相同的資料放在一起,hadoop採用了基於排序的策略,由於maptask階段已經進行了區域性排序,所以reducetask階段只需要對所有資料進行一次歸併排序即可

4.reduce:reducer會呼叫reduce()方法將處理好的資料寫入到hdfs當中。

3.shuffle機制

shuffle是指在map()方法之後,reduce()方法之前所進行的資料處理過程,shuffle的流程詳解如下:

1.首先maptask的map方法將輸出的(k,v)資料放入到環形緩衝區中。

2.當環形緩衝區資料達到80%時,會將資料不斷溢寫到磁碟當中,有可能溢位多個檔案,多個溢位的檔案會合併成為乙個大的檔案。

3.在溢位的過程以及合併的過程中,會呼叫partioner對磁碟中的資料會進行分割槽,進行按照key排序。

4.reducetask會根據自身的分割槽號結合map端資料,取出相應的maptask中的分割槽資料。

5.reducetask會儲存來自不同maptask的結果檔案進行歸併,排序。

6.當合併成大檔案之後,shuffle過程就結束了,此時會進入reduce()方法。

yarn工作機制

Mapreduce yarn工作機制

mapreduce切片機制 mapreduce yarn工作機制 mapreduce程式執行過程是這樣的 程式通過 job.submit 提交後,通過 yarnrunner 中動態 proxy 遠端呼叫,跟 yarn resourcemanager 通訊,獲得乙個資源提交路徑和 jobid 然後客戶...

php對mysql的了解 對MySQL的初步了解

首先安裝mysql 一.單詞部分 networking網路 option選擇 port埠 firewall防火牆 engine引擎 standard標準 character字元 collation校對 stirage儲存 二.預習部分 1.請寫出建立和刪除資料庫的sql語句 create datab...

對前端的理解和對自己的定位

這段時間公司提供給大家乙個崗位晉公升的機會,要以ppt的形式展現,具體包括以下幾點 當前的崗位職責 對崗位的理解 對當前崗位的建議和意見 對公司發展的建議和意見 該季度獲得的工作成績和對未來工作的發展定位和目標。我很糾結要不要去申請,因為自畢業以來做前端開發以後,交際圈明顯縮小,不像以前那樣話多,變...