【发布时间】:2016-08-09 13:13:05
【问题描述】:
我经常看到 Apache Spark 安排一系列阶段,其中涉及固定的 200 个任务。由于这种情况不断发生在许多不同的工作中,我猜这在某种程度上与 Spark 配置之一有关。任何建议该配置可能是什么?
【问题讨论】:
标签: apache-spark apache-spark-sql
我经常看到 Apache Spark 安排一系列阶段,其中涉及固定的 200 个任务。由于这种情况不断发生在许多不同的工作中,我猜这在某种程度上与 Spark 配置之一有关。任何建议该配置可能是什么?
【问题讨论】:
标签: apache-spark apache-spark-sql
200 是 shuffle 期间使用的默认分区数,由 spark.sql.shuffle.partitions 控制。它的值可以使用SQLContext.setConf在运行时设置:
sqlContext.setConf("spark.sql.shuffle.partitions", "42")
或RuntimeConfig.set
spark.conf.set("spark.sql.shuffle.partitions", 42)
【讨论】: