spark.sql.shuffle.partitions 與spark.default.parallelism並行度的作用
1.SparkSQL和DataFrame的join,group by等操作:
通過spark.sql.shuffle.partitions控制分區數,默認為200,根據shuffle的量以及計算的複雜度提高這個值。
Configures the number of partitions to use when shuffling data for joins or aggregations.
2.對於Rdd的join,groupBy,reduceByKey操作:
通過spark.default.parallelism控制shuffle read與reduce處理的分區數,默認為運行任務的core的總數(mesos細粒度模式為8個,local模式為本地的core總數),官方建議為設置成運行任務的core的2-3倍。
3.注意:在沒有使用shuffle操作的算子時,這兩參數不會起作用。
閱讀更多 從大數據說起 的文章