Wie kann Spark ein mit JSON-Escapezeichen versehenes String-Feld als JSON-Objekt analysieren lassen, um auf die richtige Struktur in DataFrames zu schließen?

Ich habe als Eingabe eine Reihe von Dateien, die als einzelnes JSON-Objekt pro Zeile formatiert sind. Das Problem ist jedoch, dass ein Feld in diesen JSON-Objekten eine mit JSON-Escapezeichen versehene Zeichenfolge ist. Beispie

{
  "id":1,
  "name":"some name",
  "problem_field": "{\"height\":180,\"weight\":80,}",
}

Erwarteterweise bei Verwendung vonsqlContext.read.json Es wird ein DataFrame mit den 3 Spalten id, name und problem_field erstellt, wobei problem_field eine Zeichenfolge ist.

Ich habe keine Kontrolle über die Eingabedateien und würde es vorziehen, dieses Problem in Spark zu lösen. Gibt es eine Möglichkeit, Spark dazu zu bringen, dieses String-Feld als JSON zu lesen und sein Schema richtig abzuleiten?

Hinweis: Der obige json ist nur ein Spielzeugbeispiel, das problem_field in meinem Fall hätte variable unterschiedliche Felder und es wäre großartig, wenn Spark auf diese Felder schließen würde und ich keine Annahmen darüber machen müsste, welche Felder existieren.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage