在spark join中,表顺序和pig一样重要吗?

yh2wf1be  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(330)

与Spark连接2对元件有关
在pig中执行常规联接时,联接中的最后一个表不会被带到内存中,而是流式传递,因此,如果a的每个键基数很小,而b的基数很大,那么这样做会更好 join A, Bjoin A by B ,从性能Angular (避免溢出和oom)
spark中是否有类似的概念?我没有看到这样的建议,不知道怎么可能?在我看来,实现与pig中的实现几乎相同:https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/rdd/cogroupedrdd.scala
还是我遗漏了什么?

sg2wtvxw

sg2wtvxw1#

这并没有什么区别,在spark中,rdd只有在缓存的情况下才会被带到内存中。所以在spark中,为了达到同样的效果,可以缓存较小的rdd。在spark中你可以做的另一件事,我不确定pig会做什么,就是如果所有的rdd都有相同的partitioner,那么就不需要进行洗牌了。

相关问题