使用AWS Glue ETL将多个嵌套数组解嵌到单独的行中

时间:2018-05-23 15:02:24

标签: python arrays etl aws-glue

我试图用AWS

在AWS Glue中删除JSON阵列数组

示例数据结构如下:

{
    "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 :(得分:0)

您是否考虑过this。我希望你看起来像这样压扁json文件和进程另外,请看看这个,example for filtering data from nested JSONs