[英]Spark Coalesce More Partitions
我有一个处理大量数据并将结果写入S3的spark作业。 在处理过程中,我可能有超过5000个分区。 在写入S3之前,我希望减少分区数,因为每个分区都写为文件。
在其他一些情况下,我在处理过程中可能只有50个分区。 如果由于性能原因我想要合并而不是重新分配会发生什么。
从文档中可以看出,只有当输出分区的数量小于输入时才会使用合并,但如果输出分区的数量不是,则会发生什么,它似乎不会导致错误? 是否会导致数据不正确或出现性能问题?
我试图避免必须计算我的RDD,以确定我是否有比我的输出限制更多的分区,如果这样合并。
使用默认的PartitionCoalescer
,如果分区数大于当前分区数,并且您没有将shuffle
设置为true
则分区数保持不变。
coalesce
与shuffle
设置为true
从另一方面相当于repartition
具有相同的值numPartitions
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.