2017-05-21 11 views
1

私は参加したい3つのRDD(x、y、z)を持っています。 3つすべてのRDDの最初の要素は、結合に使用されるキーです。DDDに変換せずにpysparkで複数のRDDに参加するには

私は2つに参加する方法を知っている:

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

にはどうすればrdd1_rdd2し、第三RDD、Zに参加することができますか?

答えて

2

ちょうど別の参加追加し、その結果フラット化:

rdd1_rdd2.join(rdd3).mapValues(lambda x: x[0] + (x[1],)) 
関連する問題