我使用spark-sql读取一个大表并生成100,000个任务。
我知道我可以设置num_of_partitions,但它会对小表做同样的事情。
Is there any way to limit the size of each partition ?
答案 0 :(得分:0)
目前Spark不支持分区大小限制。如果要减少任务数,则需要将分区号设置为较小的数字。
现在通常使用的技巧是根据datasize动态设置分区数。通常,您希望您的分区等效于HDFS块大小(128MB)。如果您知道每行数据的大小,则可以估计每个分区要保留的行数。可以说它的值是X.
然后您可以将num_of_partitions设置为
dataframe.count / x