怎樣理解MapReduce中shuffle

怎樣理解MapReduce中shuffle,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)永吉免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了成百上千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

概念解釋: 

        shuffle:簡(jiǎn)單的名稱稱為 混洗。 事實(shí)上shuffle是一個(gè)非常非常簡(jiǎn)單的概念。簡(jiǎn)單點(diǎn)來說就是洗牌。

         shuffle:按照固定的規(guī)則,就【key,value】而言。

前提

 由于之前一直都是使用的 Hadoop1 ,并未使用 Hadoop Yarn,所以有關(guān)shuffle的機(jī)制,還請(qǐng)參考最新的底層API

1 : 不管是在Map端,還是Reduce端,不管是Hadoop MapReduce 還是Storm 。 對(duì)于數(shù)據(jù)的內(nèi)部處理,很多時(shí)候都需要

對(duì)于是底層的 內(nèi)存和磁盤做出一個(gè)合理的取舍。

 Map端:

                1 : 數(shù)據(jù)并不是簡(jiǎn)單的把他直接的寫到了磁盤,這個(gè)過程比較復(fù)雜,他利用了緩沖的方式寫到了內(nèi)存,并且出于效率上的考慮,進(jìn)行了預(yù)排序。

                2:每一個(gè)默認(rèn)的Map任務(wù)都會(huì)有一個(gè)環(huán)形的緩存區(qū)。這個(gè)緩存區(qū)用來持有Map的輸出,我印象中是100M左右, 一旦達(dá)到的固定的必烈,那么就會(huì)把內(nèi)容寫到磁盤之中,在寫磁盤的過程之中,Map輸出繼續(xù)被寫入到緩沖區(qū)。

                3:在寫入到緩存區(qū)之前,會(huì)將這個(gè)數(shù)據(jù)進(jìn)行一次分區(qū)和排序(這個(gè)分區(qū)和排序?qū)?huì)按照reduce的對(duì)應(yīng)關(guān)系來生成)

                 4:關(guān)于這個(gè)分區(qū)的數(shù)據(jù)將通過Http的協(xié)議來傳遞給 Reduce端。

Reduce端:

            Reduce端口的第一個(gè)階段是:copy 階段,也就是說我們需要把數(shù)據(jù)從Map端口copy到Reduce端口。 如果Map的端口輸出相當(dāng)?shù)男?,那么就?huì)被復(fù)制到 Reduce端。

          其次:在拉取到數(shù)據(jù)之后,我們將進(jìn)入到了:排序的階段。  sort phase 階段,更恰當(dāng)?shù)膩碚f,是一個(gè)合并的階段,因?yàn)榕判虻碾A段已經(jīng)在Map 端口完成了。只需要在reduce端合并就可以了

           對(duì)于MapReduce,之前我也是能實(shí)現(xiàn)類qq圈子算法,對(duì)于算法,我也是整本算法導(dǎo)論的人。而,如今卻忘的一干二凈。記憶會(huì)消失,不需要的事物會(huì)遺忘。

看完上述內(nèi)容,你們掌握怎樣理解MapReduce中shuffle的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

標(biāo)題名稱:怎樣理解MapReduce中shuffle
當(dāng)前網(wǎng)址:http://www.muchs.cn/article12/gjgjgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、ChatGPT、定制網(wǎng)站、、做網(wǎng)站服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)