我有1000个实木复合地板文件,并且我希望在中间阶段,一个执行程序可以对每个文件进行处理。有没有一种方法可以手动分配此属性?默认情况下,spark最终为该作业创建34个任务,最终导致其偏斜]
您可以在输入DataFrame / RDD上执行repartition
并在生成的DF / RDD上执行操作。
changedDF = inputDF.repartition(500)
而不是使用inputDF使用changedDF
来执行您的操作,您应该获得500个任务。
[如果需要,在DataFrame中,您还可以提及要重新分区changedDF = inputDF.repartition(inputDF.col1)
的列的列表