Ich möchte ein JSON aus einem Spark v.1.6 (mit Scala) Dataframe erstellen. Ich weiß, dass es die einfache Lösung gibt, df.toJSON
zu tun.Spark Row zu JSON
Allerdings sieht mein Problem ein bisschen anders aus. Betrachten wir zum Beispiel einen Datenrahmen mit den folgenden Spalten:
| A | B | C1 | C2 | C3 |
-------------------------------------------
| 1 | test | ab | 22 | TRUE |
| 2 | mytest | gh | 17 | FALSE |
ich am Ende mit einem Datenrahmen haben möchte
| A | B | C |
----------------------------------------------------------------
| 1 | test | { "c1" : "ab", "c2" : 22, "c3" : TRUE } |
| 2 | mytest | { "c1" : "gh", "c2" : 17, "c3" : FALSE } |
wobei C eine JSON enthält C1
, C2
, C3
. Leider weiß ich zur Kompilierzeit nicht wie der Datenframe aussieht (außer die Spalten A
und B
die immer "fixed" sind).
Aus dem Grund, warum ich das brauche: Ich verwende Protobuf zum Senden der Ergebnisse. Leider hat mein Datenframe manchmal mehr Spalten als erwartet und ich würde diese immer noch über Protobuf senden, aber ich möchte nicht alle Spalten in der Definition angeben.
Wie kann ich das erreichen?
noch ein Datenrahmen – navige
Nein, sorry, ich meine eher, wie man hinzufügen 'C1, C2, C3' als JSON-String-Spalte an den vorhandenen Datenrahmen. Ich habe den Beitrag aktualisiert, um für die Version von Spark und Scala als Sprache zu klären. – navige
Entschuldigung! Klar, ich habe gerade die Frage aktualisiert (zusammen mit einem Grund, warum ich das erreichen möchte) und ein Beispiel hinzugefügt. – navige