在 spark join 中,table 顺序是否像在 pig 中一样重要?
In spark join, does table order matter like in pig?
与Spark - Joining 2 PairRDD elements相关
在 pig 中进行常规连接时,连接中的最后一个 table 不会进入内存,而是通过流式传输,因此如果 A 每个键的基数较小而 B 的基数较大,则效果明显更好从性能角度(避免溢出和 OOM)join A, B
比 join A by B
spark中有类似的概念吗?我没有看到任何这样的建议,想知道这怎么可能?在我看来,该实现与猪几乎相同:https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/rdd/CoGroupedRDD.scala
还是我遗漏了什么?
这没什么区别,在spark中,RDD只有在被缓存的情况下才会被带入内存。所以在spark中要达到同样的效果可以缓存较小的RDD。你可以在 spark 中做的另一件事,我不确定 pig 是否会做,如果所有 RDD 都加入了相同的分区程序,则不需要进行随机播放。
与Spark - Joining 2 PairRDD elements相关
在 pig 中进行常规连接时,连接中的最后一个 table 不会进入内存,而是通过流式传输,因此如果 A 每个键的基数较小而 B 的基数较大,则效果明显更好从性能角度(避免溢出和 OOM)join A, B
比 join A by B
spark中有类似的概念吗?我没有看到任何这样的建议,想知道这怎么可能?在我看来,该实现与猪几乎相同:https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/rdd/CoGroupedRDD.scala
还是我遗漏了什么?
这没什么区别,在spark中,RDD只有在被缓存的情况下才会被带入内存。所以在spark中要达到同样的效果可以缓存较小的RDD。你可以在 spark 中做的另一件事,我不确定 pig 是否会做,如果所有 RDD 都加入了相同的分区程序,则不需要进行随机播放。