基本上我的用例是这样的,在第一阶段,我只能有几个分区,因为每个任务都运行一个C程序,需要多达10 GB的内存。但是,我稍后会使用RangePartitioner。但是在前一阶段中只有很少的分区,RangePartitioner在执行后缀时会抛出内存错误。这是一个众所周知的事实,当你的分区太少时,Spark会在洗牌过程中抛出内存错误。
现在,我想要的是简单地将已存在的分区划分为更多分区。基本上,与Spark中的联合相反。如果我使用分区器,例如HashPartitioner,它显然会导致shuffle,我想避免。那么,我怎样才能做到这一点?