SparkShuffle內(nèi)幕解密(24)-創(chuàng)新互聯(lián)

一、到底什么是Shuffle?

我們提供的服務(wù)有:網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、郁南ssl等。為1000多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學管理、有技術(shù)的郁南網(wǎng)站制作公司

    Shuffle中文翻譯為“洗牌”,需要Shuffle的關(guān)鍵性原因是某種具有共同特征的數(shù)據(jù)需要最終匯聚到一個    計算節(jié)點上進行計算。

  二、Shuffle可能面臨的問題?

1, 數(shù)據(jù)量非常大;

2, 數(shù)據(jù)如何分類,即如何Partition,Hash、Sort、鎢絲計算;

3, 負載均衡(數(shù)據(jù)傾斜);

4, 網(wǎng)絡(luò)傳輸效率,需要在壓縮和解壓縮之間做出權(quán)衡,序列化和反序列也是要考慮的問題;

說明:具體的Task進行計算的時候盡一切大可能使得數(shù)據(jù)具備Process Locality的特性;退而求次是增加數(shù)據(jù)分片,減少每個Task處理的數(shù)據(jù)量。

三、Hash Shuffle

1, key不能是Array;

2, Hash Shuffle不需要排序,此時從理論上講就節(jié)省了Hadoop MapReduce中進行Shuffle需要排序時候的時間浪費,因為實際生產(chǎn)環(huán)境有大量的不需要排序的Shuffle類型;

思考:不需要排序的Hash Shuffle是否一定比需要排序的Sorted Shuffle速度更快?不一定!如果數(shù)據(jù)規(guī)模比的情形下,Hash Shuffle會比Sorted Shuffle速度快(很多)!但是如果數(shù)據(jù)量大,此時Sorted Shuffle一般都會比Hash Shuffle快(很多)

    3,每個ShuffleMapTask會根據(jù)key的哈希值計算出當前的key需要寫入的Partition,然后把決定后的結(jié)果寫入單 獨的文件,此時會導致每個Task產(chǎn)生R(指下一個Stage的并行度)個文件,如果當前的Stage中有M個ShuffleMapTask,則會M*R個文件?。。?/p>

   注意:Shuffle操作絕大多數(shù)情況下都要通過網(wǎng)絡(luò),如果Mapper和Reducer在同一臺機器上,此時只需要讀取本地 磁盤即可。

   Hash Shuffle的兩大死穴:第一:Shuffle前會產(chǎn)生海量的小文件于磁盤之上,此時會產(chǎn)生大量耗時低效的IO操 作;第二:內(nèi)存不共用!?。∮捎趦?nèi)存中需要保存海量的文件操作句柄和臨時緩存信息,如果數(shù)據(jù)處理規(guī)模比較龐大的話,內(nèi)存不可承受,出現(xiàn)OOM等問題!

  四、Sorted Shuffle:

 為了改善上述的問題(同時打開過多文件導致Writer Handler內(nèi)存使用過大以及產(chǎn)生過度文件導致大量的隨機讀寫 帶來的效率極為低下的磁盤IO操作),Spark后來推出了Consalidate機制,來把小文件合并,此時Shuffle時文件產(chǎn)生的數(shù)量為cores*R,對于ShuffleMapTask的數(shù)量明顯多于同時可用的并行Cores的數(shù)量的情況下,Shuffle產(chǎn)生的文件會大幅度減少,會極大降低OOM的可能;

   為此Spark推出了Shuffle Pluggable開放框架,方便系統(tǒng)升級的時候定制Shuffle功能模塊,也方便第三方系統(tǒng)改造人 員根據(jù)實際的業(yè)務(wù)場景來開放具體最佳的Shuffle模塊;核心接口ShuffleManager,具體默認實現(xiàn)        有HashShuffleManager、SortShuffleManager等,Spark 1.6.1中具體的配置如下:

Spark Shuffle內(nèi)幕解密(24)

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

分享名稱:SparkShuffle內(nèi)幕解密(24)-創(chuàng)新互聯(lián)
文章位置:http://bm7419.com/article36/dicdsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、建站公司品牌網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)企業(yè)網(wǎng)站制作、電子商務(wù)

廣告

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

成都app開發(fā)公司