Performing sammeln auf einer RDD gab mir eine Liste. Ich iteriert es um die Struktur zu drucken, mit dem Code,Kombinieren von Listen innerhalb Werte in pyspark
for entry in ratings_and_users.collect():
print(entry)
Der Ausgang ist,
(b'"20599"', ([7.0, b'"349802972X"'], ['bamberg, franken, germany', 'NULL']))
(b'"120675"', ([0.0, b'"0972189408"'], ['crescent city, california, usa', 45]))
(b'"166487"', ([6.0, b'"8422626993"'], ['santander, n/a, spain', 103]))
(b'"166487"', ([7.0, b'"8440639228"'], ['santander, n/a, spain', 103]))
In pyspark, ich brauche einen Lambda zu schreiben, verbinden alle Listen in den Wert in eine einzelne Liste. Zum Beispiel ist in der obigen Ausgabe jede Zeile ein Schlüsselwertpaar, der Schlüssel b'"166487"'
hat eine Liste als Wert ([7.0, b'"8440639228"'], ['santander, n/a, spain', 103])
. Der Wert enthält mehrere Listen, wie kann ich sie in einer einzigen Liste beitreten vor der Durchführung collect
auf der RDD
Erforderliche Ausgabestruktur:
(b'"166487"', ([7.0, b'"8440639228"', 'santander, n/a, spain', 103]))
Amh, können Sie diese Karte, bevor Sie ' –
@AlbertoBonsanto Nizza Fang collect' ich diesen Fehler im Code behoben, aber vergessen, in SO zu aktualisieren – Mitty