2014-11-20 54 views
0

說我有兩個星火RDDS具有以下值如何連接兩個RDDS互相排斥鍵

x = [(1, 3), (2, 4)] 

y = [(3, 5), (4, 7)] 

,我想有

z = [(1, 3), (2, 4), (3, 5), (4, 7)] 

如何我可以做到這一點嗎?我知道你可以使用outerJoin和map來實現這一點,但是有沒有更直接的方法呢。

回答

6

rdd.union(otherRDD)給你兩個RDDS的工會如預期中的問題

x.union(y)

0

您可以使用+運算符。在列表的上下文中,這是一個連接操作。

>>> x = [(1, 3), (2, 4)] 
>>> y = [(3, 5), (4, 7)] 
>>> z = x + y 
>>> z 
[(1, 3), (2, 4), (3, 5), (4, 7)] 
+1

是否在星火這項工作? – MetallicPriest 2014-11-20 20:07:26

+0

在'extend()'上使用'+'有什麼好處? – IanAuld 2014-11-20 20:09:11

+1

@IanAuld'extend'將修改列表,'+'將創建並返回一個新列表。 – CoryKramer 2014-11-20 20:10:14