Apache Spark RDD分区和连接

时间:2015-04-26 00:16:16

标签: apache-spark rdd

当我join两个RDD时,实际连接的数据在哪里,即在驱动程序上聚合的数据然后运回工作节点,或者是随机选择的节点之一到"接收"数据?此外,如果我在partition上拨打pairRDD,那么分区是否会自动按键完成?

1 个答案:

答案 0 :(得分:4)

不,它不会通过驱动程序或任何单个节点继续。发生洗牌,其中跨执行器的许多任务中的每一个都收集关键字子集的所有值(来自父母双方)。这些任务在迭代时形成每个密钥的连接产品。分区是关键。加入两个相同分区的RDD是有利的,因为你可以避免混乱。