我有500 mb的csv文件,我读作为一个Dataframe,我正在寻找一个分区的这个Dataframe的最佳值,我需要做一些广泛的转换,并加入这个Dataframe与另一个csv,所以我有下面3个方法现在重新分区这个Dataframe
df.重新划分(芯数)
按照500mb/128mb~4个分区重新划分Dataframe,使每个分区至少有128mb的数据
使用csv的特定列重新划分dataframe,以便在相同的分区中共同定位数据
我想知道这些选项中哪一个最适合在spark 2.4中进行并行计算和处理
1条答案
按热度按时间qlvxas9a1#
如果您非常了解数据,那么使用列对数据进行分区效果最好。但是,每当集群配置发生更改时,基于块大小和核心数的重新分区都会发生更改,对于每个环境,如果集群配置在更高的环境中不同,则需要进行这些更改。因此,总的来说,使用数据驱动的重新划分是更好的方法。