通常,Spark的join操作会导致shuffle。什么时候加入的操作不会导致洗牌?谁可以告诉我一些优化Spark的方法?
答案 0 :(得分:0)
join
或Dataset
)已经共同分区,则 RDD
不会直接导致混乱。这意味着数据已经使用repartition
/ partitionBy
进行了混洗,或者聚合和分区方案是兼容的(相同的分区键和分区数)。
join
不会导致网络流量。由于只有在先前在同一操作中对数据进行了混洗时才会发生协同定位,因此这是一个边界情况。
当连接表示为广播连接时,也不会发生随机播放。