我注意到程序中Dataframe的分区数发生了变化。我的意思是,我想用特定数量的分区来运行程序,比如说: 256
. 问题是,当出现 union
,生成的Dataframe将联合中涉及的Dataframe的分区数相加。例如,初始Dataframe 256
分区,生成的Dataframe将具有 512
.
我不知道保持沉默有多重要 256
在所有执行过程中进行分区。另外,我也不知道是不是在表演另一个新的 union
在df和 512
分区和另一个 256
,可能会影响到什么,或者我是否应该申请 repartition
在开始之前 union
?
我希望澄清,更多信息,请告诉我
1条答案
按热度按时间frebpwbc1#
我不会担心分区数量的增加,除非它会导致性能问题。如果要在合并后重新创建分区数,则应使用dataframe.coalesce(256)而不是dataframe.repartition(256)作为coalesce,如果使用完全洗牌,则使用部分洗牌将更有效。我的建议是在更改分区和不更改分区的情况下测试性能,并查看哪个性能最好。