Glue 抓取的混合模式事件的建议 JSON 结构

Suggested JSON structure for mixed schema events to be crawled by Glue

我有一些 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 解析它时,我最终得到一个只有一个列的 table:

events : array

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

我觉得问题在于我的输入 JSON 结构不能很好地与 Glue 爬虫一起工作。

改变 JSON 结构似乎是在到达 Glue 之前要做的正确事情,但是从 Glue 文档中不清楚是否有推荐的结构来处理单个 [= 块中的混合模式事件=43=].

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

我最终希望在 Redshift 中为每个事件设置一个 table(例如 an_action、another_action、one_more_action)。从那里我可以查看加载到 fact/dimension 星型模式,但那是以后的事。

简而言之,我的问题是 Glue 能否从混合架构 JSON 中创建多个 table?如果是这样的话,什么是首选的 JSON 结构来实现以下目的:

谢谢

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