Spark SQL 作业的 Spark 修复任务号
Posted
技术标签:
【中文标题】Spark SQL 作业的 Spark 修复任务号【英文标题】:Spark fix task number for Spark SQL jobs 【发布时间】:2016-08-09 13:13:05 【问题描述】:我经常看到 Apache Spark 安排一系列阶段,其中涉及固定的 200 个任务。由于这种情况不断发生在许多不同的工作中,我猜这在某种程度上与 Spark 配置之一有关。任何建议该配置可能是什么?
【问题讨论】:
【参考方案1】: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)
【讨论】:
谢谢,去试试。但是你建议 42 有什么原因吗?我正在考虑增加数量。 只是因为这是所有问题的答案 :) 说真的,尽管这取决于您的数据和设置,所以我只是使用了想到的第一个数字。 解决了这个问题。就我而言,我将其增加到 512。以上是关于Spark SQL 作业的 Spark 修复任务号的主要内容,如果未能解决你的问题,请参考以下文章