ich einen Datenrahmen haben wie dieseSpark-2.0.1: split JSON Array Spalte in arraytype (String)
root
|-- sum_id: long (nullable = true)
|-- json: string (nullable = true)
+-------+------------------------------+
|sum_id |json |
+-------+------------------------------+
|8124455|[{"itemId":11},{"itemId":12}] |
|8124457|[{"itemId":53}] |
|8124458|[{"itemId":11},{"itemId":33}] |
+-------+------------------------------+
und ich würde in dieser mit Scala zu explodieren wie
root
|-- sum_id: long (nullable = true)
|-- itemId: int(nullable = true)
+-------+--------+
|sum_id |itemId |
+-------+--------+
|8124455|11 |
|8124455|12 |
|8124457|53 |
|8124458|11 |
|8124458|33 |
+-------+--------+
Was ich versucht:
Mit
get_json_object
, aber die Spalte ist ein Array von JSON-Objekten, so denke ich, es in Objekt explodieren sollte zuerst, aber wie?Versuchte Spalte
json
StringType
-ArrayType(StringType)
zu werfen, bekam aberdata type mismatch
Ausnahmen.
Bitte führen Sie mich, wie Sie dieses Problem lösen.
die Ausgabe von df.printSchema hinzufügen Bitte. –
@ShyamendraSolanki: Ich habe hinzugefügt. Bitte schau es dir an. –