Развертывание нескольких вложенных массивов в отдельные строки с помощью AWS Glue ETL - PullRequest
0 голосов
/ 23 мая 2018

Я пытаюсь развернуть массивы JSON массивов в AWS Glue с Python

Пример структуры данных выглядит следующим образом:

{
    "country": "US",
    "states": [
        {
            "stateId": -8727116505311523857,
            "events": [
                {
                    "eventId": 9087712927864446976,
                    "name": "exampleName1",
                    "time": 1.515376892153E9,
                    "value": 0.0,
                    "parameters": {
                        "exampleparam1": "27"
                    }
                },
                {
                    "eventId": 7885892179028651008,
                    "name": "exampleName2",
                    "time": 1.515376892154E9,
                    "value": 0.0,
                    "parameters": {
                        "exampleparam1": "0",
                        "exampleparam2": "18",
                        "exampleparam3": "21303",
                        "exampleparam4": "27",
                        "exampleparam5": "2",
                        "exampleparam6": "2",
                        "exampleparam7": "3",
                        "exampleparam8": "18",
                        "exampleparam9": "1",
                        "exampleparam10": "12"
                    }
                }
            ]
        }
    ],
    "duration": 1853.938
}

Мой идеальный результат - разбить каждую строку json нанесколько строк, каждая из которых содержит все данные верхнего уровня, но только одно событие из массива событий.

Из-за нескольких уровней вложенности кажется, что unnest() не будет иметь желаемого эффекта.

Спасибо за любую помощь заранее.

1 Ответ

0 голосов
/ 24 мая 2018

Вы смотрели на это .Я надеюсь, что вы ищете что-то вроде этого, чтобы сгладить файл json и обработать его. Также, пожалуйста, посмотрите на этот пример для фильтрации данных из вложенных файлов JSON

...