Spark 中 union() 和 full_outer_join 哪个性能更好?

Rit*_*era 6 performance apache-spark spark-streaming apache-spark-sql

我想知道spark中的union()和full_outer_join在性能方面哪个最好。为了演示,请考虑下面的 2 个表:

在完全外部连接上:图_链接_1 在 Union() 上也有相同的结果:图_链接_2

注意:我已经测试了超过 1,00,000 行的性能。我观察到,在如此大的数据帧上的完整外连接比 union() 表现更好,但我想知道为什么会这样?我们已经知道 union() 不会对数据进行任何洗牌,但 Spark 中的 join 操作会进行洗牌。因此,加入应该更昂贵。

我还注意到,在较少数量的数据集上, union() 和完全外连接的性能几乎相同。

任何帮助/见解都会非常好。