纱线上有太多的任务

时间:2017-12-26 09:15:32

标签: apache-spark yarn

我使用spark-sql读取一个大表并生成100,000个任务。

我知道我可以设置num_of_partitions,但它会对小表做同样的事情。

Is there any way to limit the size of each partition ?

1 个答案:

答案 0 :(得分:0)

目前Spark不支持分区大小限制。如果要减少任务数,则需要将分区号设置为较小的数字。

现在通常使用的技巧是根据datasize动态设置分区数。通常,您希望您的分区等效于HDFS块大小(128MB)。如果您知道每行数据的大小,则可以估计每个分区要保留的行数。可以说它的值是X.

然后您可以将num_of_partitions设置为

dataframe.count / x