手动指定Spark执行程序的数量

时间:2019-11-04 18:43:27

标签: apache-spark pyspark spark-submit

我有1000个实木复合地板文件,并且我希望在中间阶段每个文件都由一名执行者处理。有没有一种方法可以手动分配此属性?默认情况下,spark最终为该作业创建34个任务,最终导致偏斜

1 个答案:

答案 0 :(得分:0)

您可以在输入的DataFrame / RDD上执行repartition并在生成的DF / RDD上执行操作。

changedDF = inputDF.repartition(500)

使用changedDF而不是使用inputDF来执行您的操作,应该会得到500个任务。

如果需要,在DataFrame中,您还可以提及要重新分区changedDF = inputDF.repartition(inputDF.col1)的列的列表