Spark:如何分解位于1个特定执行器上的数据?

mwngjboj  于 2023-08-06  发布在  Apache
关注(0)|答案(1)|浏览(133)

我有一个很大的数据集,它主要在一个执行器上被shuffle读取:https://i.stack.imgur.com/tpi7K.png
我已经实现了所有以前的操作,直到最后一个:写入磁盘。
到目前为止,我已经尝试了各种数量的df.repartition(n),但我无法分解这个执行器上的数亿行。
我认为sampleBy是罪魁祸首--我想均匀地对目标类的值进行采样,但分布严重不平衡。如何在采样后打破分区?

bqf10yzr

bqf10yzr1#

你可能有数据倾斜的问题。你可以尝试在手术中加盐。
示例:spark: How does salting work in dealing with skewed data

相关问题