1 task的記憶體緩沖調節引數
2 reduce端聚合記憶體占比
spark.shuffle.file.buffer map task的記憶體緩沖調節引數,默認是32kb
spark.shuffle.memoryFraction reduce端聚合記憶體占比,默認0.2
怎么判斷在什么時候對這兩個引數進行調整呢?
通過監控平臺查看每個executor的task的shuffle write和shuffle read的運行次數,如果發現這個指標的運行次數比較多,那么就應該考慮這兩個引數的調整了;這個引數調整有一個前提,spark.shuffle.file.buffer引數每次擴大一倍的方式進行調整,spark.shuffle.memoryFraction引數每次增加0.1進行調整,
shuffle產生大量檔案
為了解決shuffle產生大量檔案的問題,我們可以在map端輸出的位置,將檔案進行合并操作,即使用
spark.shuffle.consolidateFiles 引數來合并檔案,具體的使用方式為
new SparkConf().set("spark.shuffle.consolidateFiles","true")
作者:z小趙
鏈接:https://www.jianshu.com/p/069c37aad295
來源:簡書
著作權歸作者所有,商業轉載請聯系作者獲得授權,非商業轉載請注明出處,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/224943.html
標籤:大數據
上一篇:Spark內核-任務調度機制
下一篇:資料庫索引總結(二)
