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