Ich möchte zum Beispiel auf den Schlüssel, nach, wie viele eindeutige Werte finden, nehme ich anPyspark - nach groupByKey und zähle eindeutigen Wert nach dem Schlüssel?
habenx = sc.parallelize([("a", 1), ("b", 1), ("a", 1), ("b", 2), ("a", 2)])
Und ich habe mit groupByKey
sorted(x.groupByKey().map(lambda x : (x[0], list(x[1]))).collect())
x.groupByKey().mapValues(len).collect()
der Ausgang wird durch die gleichen,
getan[('a', [1, 1, 2]), ('b', [1, 2])]
[('a', 3), ('b', 2)]
Allerdings möchte ich verschiedene Werte in der Liste finden, sollte die Ausgabe wie sein,
[('a', [1, 2]), ('b', [1, 2])]
[('a', 2), ('b', 2)]
Ich bin sehr neu zu funken und versuche, die distinct() -Funktion irgendwo anzuwenden, aber alle fehlgeschlagen :-( Vielen Dank im Voraus!
Bitte fügen Sie einige Erklärungen zu Ihrer Antwort hinzu. –