版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Shuffle詳解2學(xué)習(xí)任務(wù)了解MapReduce的執(zhí)行過程掌握Map和Reduce的shuffle過程3知識目標(biāo)什么是ShuffleShuffle在MapReduce的過程中負(fù)責(zé)什么任務(wù)01能力目標(biāo)了解MapReduce中的Shuffle過程了解Map的shuffle過程了解Map的shuffle過程02學(xué)習(xí)目標(biāo)4目錄01MapReduceShuffle02Map的shuffle過程03Reduce的shuffle過程5MapReduceShuffleMap是映射,負(fù)責(zé)數(shù)據(jù)的過濾分發(fā);Reduce是規(guī)約,負(fù)責(zé)數(shù)據(jù)的計(jì)算歸并。Reduce的數(shù)據(jù)來源于Map,Map的輸出即是Reduce的輸入,Reduce需要通過Shuffle來獲取數(shù)據(jù)。6MapReduceShuffle從Map輸出到Reduce輸入的整個(gè)過程可以廣義地稱為Shuffle。Shuffle橫跨Map端和Reduce端,在Map端包括Spill過程,在Reduce端包括copy和sort過程,如上圖所示。7Map的shuffle過程shuffle過程包括輸出(collect)、排序(sort)、溢寫(spill)、合并(merge)等步驟,如圖所示:8Map的shuffle過程輸出(collect)每個(gè)Map任務(wù)不斷地以對的形式把數(shù)據(jù)輸出到在內(nèi)存中構(gòu)造的一個(gè)環(huán)形數(shù)據(jù)結(jié)構(gòu)中。使用環(huán)形數(shù)據(jù)結(jié)構(gòu)是為了更有效地使用內(nèi)存空間,在內(nèi)存中放置盡可能多的數(shù)據(jù)。這個(gè)數(shù)據(jù)結(jié)構(gòu)其實(shí)就是個(gè)字節(jié)數(shù)組,叫Kvbuffer。9Map的shuffle過程排序(sort)先把Kvbuffer中的數(shù)據(jù)按照partition值和key兩個(gè)關(guān)鍵字升序排序,移動(dòng)的只是索引數(shù)據(jù),排序結(jié)果是Kvmeta中數(shù)據(jù)按照partition為單位聚集在一起,同一partition內(nèi)的按照key有序。10Map的shuffle過程溢寫(spill)Spill線程為這次Spill過程創(chuàng)建一個(gè)磁盤文件:從所有的本地目錄中輪訓(xùn)查找能存儲這么大空間的目錄,找到之后在其中創(chuàng)建一個(gè)類似于“spill12.out”的文件。Spill線程根據(jù)排過序的Kvmeta挨個(gè)partition的把數(shù)據(jù)吐到這個(gè)文件中,一個(gè)partition對應(yīng)的數(shù)據(jù)吐完之后順序地吐下個(gè)partition,直到把所有的partition遍歷完。一個(gè)partition在文件中對應(yīng)的數(shù)據(jù)也叫段(segment)。11Map的shuffle過程合并(merge)
Map任務(wù)如果輸出數(shù)據(jù)量很大,可能會進(jìn)行好幾次Spill,out文件和Index文件會產(chǎn)生很多,分布在不同的磁盤上。最后把這些文件進(jìn)行合并的merge過程閃亮登場。如前面的例子,“aaa”從某個(gè)maptask讀取過來時(shí)值是5,從另外一個(gè)map讀取時(shí)值是8,因?yàn)樗鼈冇邢嗤膋ey,所以得merge成group。什么是group。對于“aaa”就是像這樣的:{“aaa”,[5,8,2,…]}12Reduce的shuffle過程CopyReduce任務(wù)通過HTTP向各個(gè)Map任務(wù)拖取它所需要的數(shù)據(jù)。每個(gè)節(jié)點(diǎn)都會啟動(dòng)一個(gè)常駐的HTTPserver,其中一項(xiàng)服務(wù)就是響應(yīng)Reduce拖取Map數(shù)據(jù)。當(dāng)有MapOutput的HTTP請求過來的時(shí)候,HTTPserver就讀取相應(yīng)的Map輸出文件中對應(yīng)這個(gè)Reduce部分的數(shù)據(jù)通過網(wǎng)絡(luò)流輸出給Reduce。13Reduce的shuffle過程MergeSORT這里使用的Merge和Map端使用的Merge過程一樣。Map的輸出數(shù)據(jù)已經(jīng)是有序的,Merge進(jìn)行一次合并排序,所謂Reduce端的sort過程就是這個(gè)合并的過程。一般Reduce是一邊copy一邊sort,即copy和sort兩個(gè)階段是重疊而不是完全分開的。當(dāng)R
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 縫紉剪項(xiàng)目營銷計(jì)劃書
- 催眠鎮(zhèn)靜劑產(chǎn)品供應(yīng)鏈分析
- 織銅網(wǎng)機(jī)細(xì)分市場深度研究報(bào)告
- 健胸器產(chǎn)品供應(yīng)鏈分析
- 微波爐用米飯煲產(chǎn)品供應(yīng)鏈分析
- 皮革制盒細(xì)分市場深度研究報(bào)告
- 電鍍用電解裝置項(xiàng)目運(yùn)營指導(dǎo)方案
- 廣告文本出版服務(wù)行業(yè)相關(guān)項(xiàng)目經(jīng)營管理報(bào)告
- 皮衣市場發(fā)展前景分析及供需格局研究預(yù)測報(bào)告
- 牙科用烘箱項(xiàng)目營銷計(jì)劃書
- 急性心肌梗死病例
- 2022年西南交通大學(xué)輔導(dǎo)員招聘考試筆試試題及答案解析
- 2022年全國小學(xué)生天文知識競賽考試題(含答案)
- 農(nóng)村一二三產(chǎn)業(yè)融合發(fā)展課件
- 醫(yī)學(xué)裝備管理委員會工作總結(jié)
- 自媒體短視頻編導(dǎo)績效考核指標(biāo)表
- 高速公路養(yǎng)護(hù)中心隧道消防應(yīng)急演練方案
- 幼兒園小班園本課程食育主題活動(dòng)案例分享教學(xué)設(shè)計(jì):《我和面粉做朋友》游戲案例(教案)
- 第四章:《政治學(xué)概論》之政治民主
- 2021年中國鐵路國際有限公司校園招聘筆試試題及答案解析
- 工程監(jiān)理工作醫(yī)用氣體管道施工質(zhì)量控制要點(diǎn)(最新可編輯Word版)
評論
0/150
提交評論