¿Cómo dejar que Spark analice un campo String escapado JSON como un objeto JSON para inferir la estructura adecuada en DataFrames?

Tengo como entrada un conjunto de archivos formateados como un solo objeto JSON por línea. El problema, sin embargo, es que un campo en estos objetos JSON es una cadena con escape JSON. Ejemplo

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

Como era de esperar, cuando se usasqlContext.read.json creará un DataFrame con las 3 columnas id, nombre y problem_field donde problem_field es una cadena.

No tengo control sobre los archivos de entrada y prefiero poder resolver este problema dentro de Spark, entonces, ¿hay alguna forma de hacer que Spark lea ese campo de cadena como JSON e infiera su esquema correctamente?

Nota: el json anterior es solo un ejemplo de juguete, el problem_field en mi caso tendría campos variables diferentes y sería genial para Spark inferir estos campos y no tener que hacer suposiciones sobre qué campos existen.

Respuestas a la pregunta(1)

Su respuesta a la pregunta