scala之如何在不引起洗牌的情况下在 Spark 中创建更多分区

你猜 阅读:167 2025-06-02 22:19:02 评论:0

基本上我的用例是这样的,在第一阶段,我只能有几个分区,因为每个任务运行一个 C 程序,它占用多达 10 GB 的内存。但是,我稍后使用了 RangePartitioner。但是由于前一阶段的分区很少,RangePartitioner 在执行 suffle 时会抛出内存不足的错误。这是一个众所周知的事实,当您的分区太少时,Spark 可能会在随机播放期间抛出内存不足错误。

现在,我想要的是简单地将已经存在的分区分成更多的分区。基本上,与 Spark 中的合并相反。如果我使用分区程序,例如 HashPartitioner,它显然会导致洗牌,我想避免这种情况。那么,我该如何实现呢?

请您参考如下方法:

暂时没有。您可以跟踪相关的 JIRA 工单:https://issues.apache.org/jira/browse/SPARK-5997


标签:Spark
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号