中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Hadoop的MapReduce執行流程圖

發布時間:2020-08-02 16:50:11 來源:網絡 閱讀:2212 作者:ChinaUnicom110 欄目:大數據


Hadoop的MapReduce shuffle過程,非常重要。只有熟悉整個過程才能對業務了如指掌。

MapReduce執行流程

Hadoop的MapReduce執行流程圖


輸入和拆分:


    不屬于map和reduce的主要過程,但屬于整個計算框架消耗時間的一部分,該部分會為正式的map準備數據。


    分片(split)操作:


    split只是將源文件的內容分片形成一系列的 InputSplit,每個 InputSpilt 中存儲著對 應分片的數據信息(例如,文件塊信息、起始位置、數據長度、所在節點列表…),并不是將源文件分割成多個小文件,每個InputSplit 都由一個 mapper 進行后續處理。


    每個分片大小參數是很重要的,splitSize 是組成分片規則很重要的一個參數,該參數由三個值來確定:

    minSize:splitSize 的最小值,由 mapred-site.xml 配置文件中 mapred.min.split.size 參數確定。


    maxSize:splitSize 的最大值,由 mapred-site.xml 配置文件中mapreduce.jobtracker.split.metainfo.maxsize 參數確定。


    blockSize:HDFS 中文件存儲的快大小,由 hdfs-site.xml 配置文件中 dfs.block.size 參數確定。


    splitSize的確定規則:splitSize=max{minSize,min{maxSize,blockSize}}


    數據格式化(Format)操作:


   將劃分好的 InputSplit 格式化成鍵值對形式的數據。其中 key 為偏移量,value 是每一行的內容。


    值得注意的是,在map任務執行過程中,會不停的執行數據格式化操作,每生成一個鍵值對就會將其傳入 map,進行處理。所以map和數據格式化操作并不存在前后時間差,而是同時進行的。


Hadoop的MapReduce執行流程圖

    2)Map 映射:


    是 Hadoop 并行性質發揮的地方。根據用戶指定的map過程,MapReduce 嘗試在數據所在機器上執行該 map 程序。在 HDFS中,文件數據是被復制多份的,所以計算將會選擇擁有此數據的最空閑的節點。


    在這一部分,map內部具體實現過程,可以由用戶自定義。


    3)Shuffle 派發:


    Shuffle 過程是指Mapper 產生的直接輸出結果,經過一系列的處理,成為最終的 Reducer 直接輸入數據為止的整個過程。這是mapreduce的核心過程。該過程可以分為兩個階段:


    Mapper 端的Shuffle:由 Mapper 產生的結果并不會直接寫入到磁盤中,而是先存儲在內存中,當內存中的數據量達到設定的閥值時,一次性寫入到本地磁盤中。并同時進行 sort(排序)、combine(合并)、partition(分片)等操作。其中,sort 是把 Mapper 產 生的結果按照 key 值進行排序;combine 是把key值相同的記錄進行合并;partition 是把 數據均衡的分配給 Reducer。


    Reducer 端的 Shuffle:由于Mapper和Reducer往往不在同一個節點上運行,所以 Reducer 需要從多個節點上下載Mapper的結果數據,并對這些數據進行處理,然后才能被 Reducer處理。

   4)Reduce 縮減:

    Reducer 接收形式的數據流,形成形式的輸出,具體的過程可以由用戶自定義,最終結果直接寫入hdfs。每個reduce進程會對應一個輸出文件,名稱以part-開頭。

  歡迎補充。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

呼和浩特市| 钟祥市| 浦北县| 文山县| 兴宁市| 屏边| 封开县| 张家港市| 响水县| 孟津县| 通许县| 孝昌县| 双牌县| 新丰县| 南安市| 馆陶县| 西宁市| 郴州市| 林口县| 宝坻区| 商洛市| 昆山市| 温宿县| 泗水县| 青冈县| 南城县| 伽师县| 江西省| 富蕴县| 湘潭县| 昌黎县| 太和县| 百色市| 怀柔区| 辽中县| 蕲春县| 阳新县| 清远市| 博罗县| 东至县| 长海县|