2017-03-16 33 views
-2

我做了一些加入操作和我得到的結果作爲波紋管PySpark開箱元組

[(u'20', (u'bbb', 4500)), (u'10', (u'aaa', 3500)), (u'30', (u'ccc', 7500))] 

現在我需要將其轉換爲波紋管。如何做到這一點

[(u'20', u'bbb', 4500), (u'10', u'aaa', 3500), (u'30', u'ccc', 7500)] 
+0

你嘗試過什麼嗎? – mtoto

+0

@mtoto - 得到了預期中的一個,如果你認爲這比這個更好,讓我知道。 –

回答

0
>>> example = [(u'20', (u'bbb', 4500)), (u'10', (u'aaa', 3500)), (u'30', (u'ccc', 7500))] 
>>> [tuple(x[:1]) + (x[1]) for x in example] 

結果

[(u'20', u'bbb', 4500), (u'10', u'aaa', 3500), (u'30', u'ccc', 7500)] 
+1

這不是PySpark解決方案,而是普通的Python。加入後你沒有RDD嗎?如果是的話,你應該這樣做:'rdd.map(lambda x:(x [0],x [1] [0],x [1] [1]))。collect()' – Jaco

+0

@jaco - My不好。你是對的。我錯過了提及這一點。 在[例如對於x有[tuple(x [:1])+(x [1])]之前,我對我的數據做了collect()。 –