




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Shuffle調(diào)優(yōu)介紹1.了解發(fā)展概述.
2.理解HashShuffleManager運行原理.
3.理解SortShuffleManager運行原理及運行機制.
01發(fā)展概述02HashShuffleManager運行原理03SortShuffleManager運行原理及運行機制
發(fā)展概述01
發(fā)展概述
在Spark的源碼中,負責shuffle過程的執(zhí)行、計算和處理的組件主要就是ShuffleManager。在Spark1.2以前,默認的shuffle計算引擎是HashShuffleManager,它有著一個非常嚴重的弊端,就是會產(chǎn)生大量的中間磁盤文件,進而由大量的磁盤IO操作影響了性能。在Spark1.2以后的版本中,默認的ShuffleManager改成了SortShuffleManager。SortShuffleManager相較于HashShuffleManager來說,每個Task在進行shuffle操作時,每個Task就只有一個磁盤文件。在下一個stage的shufflereadtask拉取自己的數(shù)據(jù)時,只要根據(jù)索引讀取每個磁盤文件中的部分數(shù)據(jù)即可。
HashShuffleManager運行原理02
HashShuffleManager運行原理下圖說明了優(yōu)化的HashShuffleManager的原理
SortShuffleManager
運行原理及運行機制03
SortShuffleManager運行原理及運行機制SortShuffleManager運行原理
SortShuffleManager運行原理及運行機制
SortShuffleManager的運行機制主要分成兩種,一種是普通運行機制,另一種是bypass運行機制。當shufflereadtask的數(shù)量小于等于spark.shuffle.sort.bypassMergeThreshold參數(shù)的值時(默認為200),就會啟用bypass機制。
SortShuffleManager運行原理及運行機制
普通運行機制
在該模式下,數(shù)據(jù)會先寫入一個內(nèi)存數(shù)據(jù)結(jié)構(gòu)中,此時根據(jù)不同的shuffle算子,可能選用不同的數(shù)據(jù)結(jié)構(gòu)。如果是reduceByKey這種聚合類的shuffle算子,那么會選用Map數(shù)據(jù)結(jié)構(gòu),一邊通過Map進行聚合,一邊寫入內(nèi)存;如果是join這種普通的shuffle算子,那么會選用Array數(shù)據(jù)結(jié)構(gòu),直接寫入內(nèi)存。接著,每寫一條數(shù)據(jù)進入內(nèi)存數(shù)據(jù)結(jié)構(gòu)之后,就會判斷一下,是否達到了某個臨界閾值。如果達到臨界閾值的話,那么就會嘗試將內(nèi)存數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)溢寫到磁盤,然后清空內(nèi)存數(shù)據(jù)結(jié)構(gòu)。
SortShuffleManager運行原理及運行機制bypass運行機制
shufflemaptask數(shù)量小于spark.shuffle.sort.bypassMergeThreshold參數(shù)的值。不是聚合類的shuffle算子(比如reduceByKey)。此時task會為每個下游task都創(chuàng)建一個臨時磁盤文件,并將數(shù)據(jù)按key進行hash然后根據(jù)key的hash值,將key寫入對應(yīng)的磁盤文件之中。當然,寫入磁盤文件時也是先寫入內(nèi)存緩沖,緩沖寫滿之后再溢寫到磁盤文件的。最后,同樣會將所有臨時磁盤文件都合并成一個磁盤文件,并創(chuàng)建一個單獨的索引文件。1.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度全國總代理合同:XX服裝品牌全國市場總代理權(quán)授權(quán)書
- 臺球館裝修合同模板及明細
- 2025年度塑膠顆粒行業(yè)人才培訓與引進合作協(xié)議
- 2025年度房屋租賃房東合同-租賃合同風險防控指南
- 工廠水電安裝協(xié)議范本
- 2025年度多式聯(lián)運貨物保險合同樣本
- 2025年度醫(yī)療機構(gòu)執(zhí)業(yè)藥師聘用合同及藥品安全培訓協(xié)議
- 2025年度手電動車轉(zhuǎn)讓協(xié)議書:手電動車品牌加盟連鎖經(jīng)營合同
- 2025年度互聯(lián)網(wǎng)干股合作協(xié)議范本
- 2025年度個人銀行卡領(lǐng)用與高端商務(wù)服務(wù)合同
- 生物-湖北省鄂東新領(lǐng)先協(xié)作體2025屆高三下學期2月調(diào)考(二模)試題和答案
- 運營總監(jiān)個人總結(jié)
- 2025年陜西延長石油集團礦業(yè)公司招聘筆試參考題庫含答案解析
- 2006年事業(yè)單位工資改革工資標準表及套改表2
- 江蘇省特種設(shè)備安全條例2021
- 青島海洋地質(zhì)研究所公開招聘面試答辯PPT課件
- 常見導管的固定與維護PPT課件
- 白龜湖濕地公園調(diào)研報告
- 魯教版八年級下冊英語單詞(默寫用)2014
- 最常見兒童歌曲大全簡譜(本人整理)
- 江西省省道網(wǎng)規(guī)劃(2013-2030年)
評論
0/150
提交評論