天天看點

spark 作業性能調優

目錄

  • 1、配置設定更多資源、并行度、RDD架構與緩存
  • 2、shuffle 調優
  • 3、算子調優
  • 4、JVM調優、廣播大變量、kryo序列化、fastutil優化資料格式等
  • 5、troubleshooting
  • 6、資料傾斜

1、配置設定更多資源、并行度、RDD架構與緩存

配置設定更多資源:

  • spark作業配置設定更多的executor
  • 對與每個executor配置設定更多的memory
  • 對于每個executor配置設定更多的cpu core

并行度:

  • 所謂并行度是指spark作業中每個stage階段中可以執行的task數量
  • 提高每個stage可以執行的task,提高并行度,降低每個task處理的資料量
  • 官方推薦,task數量設定成spark application總cpu core數量的2~3倍
  • SparkConf conf = new SparkConf().set("spark.default.parallelism", "task數量")

RDD重構與緩存:

  • RDD架構重構與優化,盡量去複用RDD,差不多的RDD,可以抽取稱為一個共同的RDD,供後面的RDD計算時,反複使用;
  • 公共RDD一定要實作持久化,持久化順序為:純記憶體無序列化;純記憶體序列化;記憶體加磁盤無序列化;記憶體加磁盤序列化
  • 為了資料的高可靠性,而且記憶體充足,可以使用雙副本機制,進行持久化;

2、shuffle 調優

3、算子調優

4、JVM調優、廣播大變量、kryo序列化、fastutil優化資料格式等

5、troubleshooting

6、資料傾斜

繼續閱讀