2015-07-05 23 views
0

我有這樣的RDD:[(1,1,2),(2,2,3)]不同的名單內RDD的,而不是整個RDD

我想有:[1,2,2,3]

提示:中間步:(1,2),(2,3)

我的代碼:

suchRDD.flatMap(lambda k:k).distinct() 

..會產生:

[1,2,3] 

這不是我想要的。 (請不要介意不同類型的大括號)

如何減少每個嵌套列表,然後展平得到想要的結果? (請沒有列表理解的例子,提醒:這是星火)

回答

1

這一步suchRDD.flatMap(lambda k:k)後,您將獲得:
[1,2,2,3]
這是不可能知道哪個號碼來自哪個組,所以你應該在flatMap之前區分元組。爲此,您可以使用set(),Python中的內置函數來獲取不同的項目。

rdd = sc.parallelize([(1,1,2),(2,2,3)]) 
rdd.map(set).flatMap(lambda x:x).collect() 
+0

你是我的個人英雄。 – nottinhill

相關問題