4.3.3 连接
将有键的数据与另一组有键的数据一起使用是对键值对数据执行的最有用的操作之一。
连接数据可能是 pair RDD 最常用的操作之一。
连接方式多种多样:
- 内连接:普通的 join 操作符
只有在两个 pair RDD 中都存在的键才输出。
当一个输入对应的某个键有多个值时,生成的 pair RDD 会包括来自两个输入 RDD 的每一组相对应的记录。 - 左外连接:leftOuterJoin(other)
在使用 leftOuterJoin() 产生的 pair RDD 中,源 RDD 的每一个键都有对应的记录。
每个键相应的值是由一个源 RDD 中的值与一个包含第二个 RDD 的值的 Option (在 Java 中为 Optional )对象组成的二元组。 - 右外连接:rightOuterJoin(other)
预期结果中的键必须出现在第二个 RDD 中,而二元组中的可缺失的部分则来自于源 RDD 而非第二个 RDD。 - 交叉连接
代码
- Python
- Scala
- Java