Запись данных в JSON как единый объект - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть фрейм данных, который я пытаюсь записать в папку S3 в виде JSON.

df.printSchema
root
 |-- userId: string (nullable = false)
 |-- firstName: string (nullable = false)
 |-- address: string (nullable = true)
 |-- Email: array (nullable = true)
 |    |-- element: string (containsNull = true)
 |-- UserFoodFavourites: array (nullable = true)
 |    |-- element: struct (containsNull = true)
 |    |    |-- foodName: string (nullable = true)
 |    |    |-- isFavFood: boolean (nullable = false)
 |-- UserGameFavourites: array (nullable = true)
 |    |-- element: array (containsNull = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- Department: string (nullable = false)
 |    |    |    |-- gameName: string (nullable = false)

Запись кадра данных в JSON:

df.repartition(1).write.option("mode","append").json("s3Location")

Вывод в формате JSON я получаю:

       {"userId":111,"firstName":"first123","address":"xyz",
         "Email":["def@gmail.com","abc@gmail.com"],
         "UserFoodFavourites":[{"foodName":"food1","isFavFood":true},{"foodName":"food2","isFavFood":false}],
         "UserGameFavourites":[[{"Department":"Outdoor","gameName":"O1"}],[{"Department":"Indoor","gameName":"I1"},{"Department":"Indoor","gameName":"I2"}]]}
       {"userId":123,"firstName":"first123","address":"xyz",
         "Email":["def@gmail.com","abc@gmail.com"],
         "UserFoodFavourites":[{"foodName":"food1","isFavFood":true},{"foodName":"food2","isFavFood":false}],
         "UserGameFavourites":[[{"Department":"Outdoor","gameName":"O1"}],[{"Department":"Indoor","gameName":"I1"},{"Department":"Indoor","gameName":"I2"}]]}

alias prettyjson='python -m json.tool'

Однако, это не работает, когда я пытаюсь напечатать этот файл в симпатичном формате JSON, используя prettyJSON для этого файла, потому что они записаны как несколько объектов JSON на userId.

Я пытаюсь записать это как один объект JSON с новым разделением строк, поэтому я могу запустить prettyJSON для этого файла.

Любая помощь приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...