Ich habe einen Datenrahmen (der durch Laden von mehreren Blobs in Azur erstellt wird), wo ich eine Spalte haben, die Liste der IDs ist. Jetzt habe ich eine Liste von eindeutigen IDs aus dieser ganzen Spalte will:Pyspark Dataframe bekommen einzigartige Elemente aus Spalte mit String als Liste der Elemente
Hier ist ein Beispiel -
df -
| col1 | col2 | col3 |
| "a" | "b" |"[q,r]"|
| "c" | "f" |"[s,r]"|
Hier ist meine erwartete Antwort:
resp = [q, r, s]
Jede Idee, wie man dorthin ?
Mein derzeitiger Ansatz ist es, die Strings in Col3 in Python-Listen zu konvertieren und sie dann irgendwie zu erweitern.
Aber bis jetzt bin ich nicht dazu in der Lage. Ich habe versucht, benutzerdefinierte Funktionen in pyspark verwenden, aber sie nur Zeichenfolgen und keine Listen zurückgeben.
FlatMaps funktionieren nur mit RDD und nicht mit Datenrahmen, daher sind sie nicht im Bild.
Vielleicht gibt es einen Weg, wo ich dies während der Konvertierung von RDD zu Dataframe angeben kann. Aber nicht sicher, wie das geht.