2023學年完整公開課版Shuffle調(diào)優(yōu)介紹_第1頁
2023學年完整公開課版Shuffle調(diào)優(yōu)介紹_第2頁
2023學年完整公開課版Shuffle調(diào)優(yōu)介紹_第3頁
2023學年完整公開課版Shuffle調(diào)優(yōu)介紹_第4頁
2023學年完整公開課版Shuffle調(diào)優(yōu)介紹_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論