【发布时间】:2017-05-21 02:47:39
【问题描述】:
我想加入三个 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?
【问题讨论】:
我想加入三个 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?
【问题讨论】:
只需添加另一个连接并将结果展平:
rdd1_rdd2.join(rdd3).mapValues(lambda x: x[0] + (x[1], ))
【讨论】: