2017-03-16 2 views
-2

Ich habe einige Join-Operation und und bin immer das Ergebnis als GebrüllPySpark Auspacken Tupel

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

Jetzt muss ich dies als Gebrüll konvertieren. Wie man das macht

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

Sie alles versucht haben? – mtoto

+0

@mtoto - Haben Sie die eine, die erwartet wird., Wenn Sie denken, dass einige besser als die eine ist, lassen Sie es mich wissen. –

Antwort

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] 

Ergebnis

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

Das ist keine PySpark-Lösung, sondern einfaches Python. Haben Sie nach dem Beitritt keine RDD? Wenn ja, sollten Sie stattdessen Folgendes tun: 'rdd.map (Lambda x: (x [0], x [1] [0], x [1] [1])). Collect()' – Jaco

+0

@jaco - Meine Schlecht . Du hast Recht. Ich habe es versäumt, das zu erwähnen. bevor ich [Tupel (x [: 1]) + (x [1]) für x in Beispiel] hatte, habe ich eine Collect() auf meine Daten. –