Glue要爬网的混合模式事件的建议JSON结构

问题描述 投票:0回答:1

我有一些JSON包含不同的模式,具有不同的模式,如下所示:

{
    "events": [{
        "key": "an_action",
        "properties": {
            "user": "111111111111",
            "datetime": "2018-9-05 10:00:00",
            "value_a": "123",
            "value_b": "123",
            "value_c": "123"
        }
    },
    {
        "key": "another_action",
        "properties": {
            "user": "111111111111",
            "datetime": "2018-9-05 10:00:00",
            "quantity": "1",
            "cash": "£123",
            "something": "else"
        }
    },
    {
        "key": "one_more_action",
        "properties": {
            "user": "111111111111",
            "datetime": "2018-9-05 10:00:00",
            "activated": "true"
        }
    }]
}

当我尝试使用Glue解析它时,我最终得到一个包含单列的表:

事件:数组

我尝试过使用$ .events [*]的JSON分类器,但这没有用。

我觉得问题是我的输入JSON结构不适用于Glue爬虫。

在到达Glue之前,改变JSON结构似乎是正确的做法,但是从Glue文档中不清楚是否存在用于在单个JSON块中处理混合模式事件的推荐结构。

在我的JSON中,“key”包含事件的名称,“properties”是属性列表。

我最终希望在Redshift中为每个事件创建一个表(例如an_action,another_action,one_more_action)。从那里我可以看到加载到事实/维度星型模式,但这是为了以后。

简而言之,我的问题是Glue可以从混合模式JSON创建多个表吗?如果是这样,那么这样做的首选JSON结构将允许以下内容:

  • 具有不同模式的多个事件
  • 每个事件的多个实例(记录)

谢谢

json amazon-redshift aws-glue
1个回答
0
投票

联系支持并被告知Glue爬虫不支持同一文件中的多个模式。所以我修改了原始的JSON,每个文件有一个模式,每个文件有多个记录。

© www.soinside.com 2019 - 2024. All rights reserved.