从 Spark 2.3 升级到 Spark 2.4.3 时,我看到其中一个阶段生成的随机磁盘溢出量增加了 20-30%。
在两种环境中执行相同的代码。
两种环境之间的所有配置都相同
在 2.4.3 和 2.3.0 上运行 .explain(false(。 此外,转储两者上使用的配置。 这些版本中的方式优化规则发生了变化。 还有你在哪里跑火花?有一个肮脏的秘密,许多火花供应商一直在引擎盖下定制和改进火花。 我怀疑发生的事情比你想象的要多。