Как позволить 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 сделал вывод об этих полях, и мне не нужно делать никаких предположений о том, какие поля существуют.