Как разобрать глубоко вложенный JSON с помощью PySpark - PullRequest
0 голосов
/ 23 июня 2019

Я пытался проанализировать имеющиеся у меня вложенные данные JSON, изолировать объекты в массиве и заполнить их как отдельные столбцы, чтобы я мог переместить преобразованный файл в табличном формате для красного смещения и запроса. Однако я не могу добиться успеха с тем, что я пытался. Я использовал AWS Glue для сканирования s3 с файлом JSON с помощью пользовательского классификатора JSON ($ [*]), а затем создал задание ETL для преобразования просканированных данных и перехода к красному смещению. Использовал «реляционализацию», чтобы сгладить вложенный JSON в PySpark, но безуспешно. Я добавляю схему JSON и ожидаемый результат после анализа файла ниже. Схема JSON,

root
|-- id: long (nullable = true)
|-- eventsData: struct (nullable = true)
|    |-- events: array (nullable = true)
|    |    |-- element: struct (containsNull = true)
|    |    |    |-- count: long (nullable = true)
|    |    |    |-- eventType: string (nullable = true)

и ожидаемые столбцы после разбора:

id: long (nullable = true)
startEvent: string (nullable = true)
startEventCount: long (nullable = true)
processEvent: string (nullable = true)
processEventCount: long (nullable = true)
endEvent: string (nullable = true)
endEventCount: long (nullable = true)

. Любая помощь будет по-настоящему оценена.

...