Читать многострочный JSON в Apache Spark

Я пытался использовать файл JSON в качестве небольшой БД. После создания таблицы шаблонов в DataFrame я запросил ее с помощью SQL и получил исключение. Вот мой код:

val df = sqlCtx.read.json("/path/to/user.json")
df.registerTempTable("user_tt")

val info = sqlCtx.sql("SELECT name FROM user_tt")
info.show()

df.printSchema() результат:

root
 |-- _corrupt_record: string (nullable = true)

Мой файл JSON:

{
  "id": 1,
  "name": "Morty",
  "age": 21
}

Exeption:

Exception in thread "main" org.apache.spark.sql.AnalysisException: cannot resolve 'name' given input columns: [_corrupt_record];

Как я могу это исправить?

UPD

_corrupt_record является

+--------------------+
|     _corrupt_record|
+--------------------+
|                   {|
|            "id": 1,|
|    "name": "Morty",|
|           "age": 21|
|                   }|
+--------------------+

UPD2

Это странно, но когда я переписываю свой JSON, чтобы сделать его более удобным, все работает отлично.

{"id": 1, "name": "Morty", "age": 21}

Так что проблема вnewline.

UPD3

Я нашел в документах следующее предложение:

Обратите внимание, что файл, который предлагается в виде файла JSON, не является типичным файлом JSON. Каждая строка должна содержать отдельный, автономный действительный объект JSON. Как следствие, обычный многострочный файл JSON чаще всего не работает.

Хранить JSON в таком формате не удобно. Есть ли обходной путь, чтобы избавиться от многослойной структуры JSON или преобразовать ее в oneliner?

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

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