我想要加入三个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?
答案 0 :(得分:2)
只需添加另一个联接并展平结果:
rdd1_rdd2.join(rdd3).mapValues(lambda x: x[0] + (x[1], ))