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,每个文件有一个模式,每个文件有多个记录。
我有一些 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,每个文件有一个模式,每个文件有多个记录。