小編給大家分享一下Shuffle有什么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
Shuffle的正常意思是洗牌或弄亂,Shuffle描述著數(shù)據(jù)從maptask輸出到reducetask輸入的這段過程。partition,是劃分,分區(qū),歸類,是shuffle的一部分。
shuffle什么意思
shuffle階段的主要函數(shù)是fetchOutputs(),這個(gè)函數(shù)的功能就是將map階段的輸出,copy到reduce節(jié)點(diǎn)本地。
combine和partition都是函數(shù),中間的步驟應(yīng)該只有shuffle!
combine分為map端和reduce端,作用是把同一個(gè)key的鍵值對(duì)合并在一起,可以自定義的。
combine函數(shù)把一個(gè)map函數(shù)產(chǎn)生的<key,value>對(duì)(多個(gè)key,value)合并成一個(gè)新的<key2,value2>.將新的<key2,value2>作為輸入到reduce函數(shù)中
這個(gè)value2亦可稱之為values,因?yàn)橛卸鄠€(gè)。這個(gè)合并的目的是為了減少網(wǎng)絡(luò)傳輸。
shuffle作用有什么意思
partition是分割map每個(gè)節(jié)點(diǎn)的結(jié)果,按照key分別映射給不同的reduce,也是可以自定義的。這里其實(shí)可以理解歸類。
我們對(duì)于錯(cuò)綜復(fù)雜的數(shù)據(jù)歸類。比如在動(dòng)物園里有牛羊雞鴨鵝,他們都是混在一起的,但是到了晚上他們就各自?;嘏E铮蚧匮蛉?,雞回雞窩。partition的作用就是把這些數(shù)據(jù)歸類。只不過在寫程序的時(shí)候,mapreduce使用哈希HashPartitioner幫我們歸類了。這個(gè)我們也可以自定義。
shuffle就是map和reduce之間的過程,包含了兩端的combine和partition。
Map的結(jié)果,會(huì)通過partition分發(fā)到Reducer上,Reducer做完Reduce操作后,通過OutputFormat,進(jìn)行輸出。
以上是“Shuffle有什么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
分享標(biāo)題:Shuffle有什么用-創(chuàng)新互聯(lián)
標(biāo)題來源:http://chinadenli.net/article12/desggc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、域名注冊(cè)、虛擬主機(jī)、品牌網(wǎng)站設(shè)計(jì)、企業(yè)網(wǎng)站制作、軟件開發(fā)
聲明:本網(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)
猜你還喜歡下面的內(nèi)容