首页/数据/数仓建模速查/Spark 并行度调参:shuffle partitions
湖仓与引擎63 条

Spark 并行度调参:shuffle partitions

spark.sql.shuffle.partitions 决定 shuffle 后分区数,偏小导致单分区过大、偏大产生小文件;经验值让单分区处理 100-200MB 数据。

数仓建模速查数据更新于 2026-10-12
参数spark.sql.shuffle.partitions
默认200
经验单分区 100-200MB
配合AQE 自动合并

并行度设置

并行度设置
spark.conf.set('spark.sql.shuffle.partitions', '400')
spark.conf.set('spark.sql.adaptive.enabled', 'true')
spark.conf.set('spark.sql.adaptive.coalescePartitions.enabled', 'true')
分区数按数据量估算:总 shuffle 数据量除以 200MB 再取整。

易错点

  • 并行度设置过大,任务与文件数量双双膨胀

数据来源与参考

  • Apache Spark 官方文档:Performance Tuning
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌