spark效能優化八

2021-07-26 07:38:22 字數 655 閱讀 4022

一:使用tungsten功能

1, 如果想讓您的程式使用tungsten的功能,可以配置:

spark.shuffle.manager=tungsten-sort

2, dataframe中自動開啟了

tungsten

功能;

二:tungsten-sort base shuffle writer內幕

1, 寫資料在記憶體足夠大的情況下是寫到page裡面,在

page

中有一條條的

record

,如果記憶體不夠的話會

spill

到磁碟上;

2, 如何看記憶體是是否足夠呢?兩方面:

a) 系統預設情況下給shufflemaptask最大準備了多少記憶體空間,預設情況下是

executorheapmemory * 0.8 * 0.2

spark.shuffle.memoryfraction=0.2 spark.shuffle.safetyfraction=0.8

b) 另外一方面是和task處理的

partition

大小緊密相關;

3, 在tungsten下獲取資料的類叫做

blockstoreshufflereader

,其底層其實是

page;

spark效能優化

熟悉spark核心之後,深刻體會到了spark開發中存在著大量細節左右著計算效能。趁著剛看過大概的流程,先基於目前的感受和相關資料,總結一下可能存在優化空間的地方。spark優化其實就是將不必要的開銷能省就省。建立rdd是昂貴的,從磁碟讀取rdd也是昂貴的,需要大量的io開銷,shuffle是與基於...

spark的效能優化

因為之前在tesla集群上申請了1000個節點被噴之後,現在只敢申請100個節點,後來導致乙個嚴重的結果,自從100節點以來再也沒有跑出結果。進而意識到了spark優化的重要性,現再次總結一下 1.乙個通用的調整並行度的方式 首先要明確乙個概念,hadoop為每乙個partition建立乙個task...

spark效能優化二

一 task效能優化 1,慢任務的效能優化 可以考慮減少每個partition處理的資料量,同時建議開啟 spark.speculation,2,儘量減少shuffle,例如我們要儘量減少 groupbykey 的操作,因為 groupbykey 會要求通過網路拷貝 shuffle 所有的資料,優先...