如何在pyspark中连接多个RDD而不转换为DF

时间:2017-05-21 02:47:40

标签: join pyspark rdd

我想要加入三个RDD(x,y,z)。所有三个RDD的第一个元素是将用于连接的键。

我知道如何加入两个:

rdd1 = x.map(lambda r: (r[0], r[1:]))
rdd2 = y.map(lambda r: (r[0], r[1:]))
rdd1_rdd2 = rdd1.join(rdd2)

如何将第三个RDD,z加入rdd1_rdd2?

1 个答案:

答案 0 :(得分:2)

只需添加另一个联接并展平结果:

rdd1_rdd2.join(rdd3).mapValues(lambda x: x[0] + (x[1], ))