Как позволить Spark анализировать поле String, экранированное JSON, как объект JSON, чтобы вывести правильную структуру в DataFrames?

В качестве входных данных у меня есть набор файлов, отформатированных как один объект JSON в каждой строке. Проблема, однако, заключается в том, что одним из полей в этих объектах JSON является строка, экранированная JSON. пример

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

Ожидается, при использованииsqlContext.read.json он создаст DataFrame с 3 столбцами id, name и problem_field, где problem_field - строка.

У меня нет контроля над входными файлами, и я предпочел бы иметь возможность решить эту проблему в Spark, поэтому есть ли способ заставить Spark прочитать это поле String как JSON и правильно вывести его схему?

Примечание: приведенный выше json - всего лишь игрушечный пример, в моем случае поле problem_field может иметь различные переменные поля, и было бы здорово, если бы Spark сделал вывод об этих полях, и мне не нужно делать никаких предположений о том, какие поля существуют.

Ответы на вопрос(1)

Ваш ответ на вопрос