怎樣理解MapReduce中shuffle,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
專注于為中小企業提供網站設計、成都網站制作服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業永吉免費做網站提供優質的服務。我們立足成都,凝聚了一批互聯網行業人才,有力地推動了成百上千家企業的穩健成長,幫助中小企業通過網站建設實現規模擴充和轉變。
shuffle:簡單的名稱稱為 混洗。 事實上shuffle是一個非常非常簡單的概念。簡單點來說就是洗牌。
shuffle:按照固定的規則,就【key,value】而言。
由于之前一直都是使用的 Hadoop1 ,并未使用 Hadoop Yarn,所以有關shuffle的機制,還請參考最新的底層API
1 : 不管是在Map端,還是Reduce端,不管是Hadoop MapReduce 還是Storm 。 對于數據的內部處理,很多時候都需要
對于是底層的 內存和磁盤做出一個合理的取舍。
1 : 數據并不是簡單的把他直接的寫到了磁盤,這個過程比較復雜,他利用了緩沖的方式寫到了內存,并且出于效率上的考慮,進行了預排序。
2:每一個默認的Map任務都會有一個環形的緩存區。這個緩存區用來持有Map的輸出,我印象中是100M左右, 一旦達到的固定的必烈,那么就會把內容寫到磁盤之中,在寫磁盤的過程之中,Map輸出繼續被寫入到緩沖區。
3:在寫入到緩存區之前,會將這個數據進行一次分區和排序(這個分區和排序將會按照reduce的對應關系來生成)
4:關于這個分區的數據將通過Http的協議來傳遞給 Reduce端。
Reduce端口的第一個階段是:copy 階段,也就是說我們需要把數據從Map端口copy到Reduce端口。 如果Map的端口輸出相當的小,那么就會被復制到 Reduce端。
其次:在拉取到數據之后,我們將進入到了:排序的階段。 sort phase 階段,更恰當的來說,是一個合并的階段,因為排序的階段已經在Map 端口完成了。只需要在reduce端合并就可以了
對于MapReduce,之前我也是能實現類qq圈子算法,對于算法,我也是整本算法導論的人。而,如今卻忘的一干二凈。記憶會消失,不需要的事物會遺忘。
看完上述內容,你們掌握怎樣理解MapReduce中shuffle的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注創新互聯行業資訊頻道,感謝各位的閱讀!
標題名稱:怎樣理解MapReduce中shuffle
當前網址:http://vcdvsql.cn/article12/gjgjgc.html
成都網站建設公司_創新互聯,為您提供靜態網站、ChatGPT、定制網站、、做網站、服務器托管
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯