【发布时间】:2020-12-26 22:04:55
【问题描述】:
我有一个类似于这两个示例事件的 JSON 结构:
事件 1
{
"event":{
"type" : "FooBarEvent"
"kv":{
"key1":"value1",
"key2":"value2",
"3":"three",
"d":"4"
}
}
}
事件 2
{
"event":{
"type" : "FooBarEvent"
"kv":{
"key1":"value1",
"key2":"value2000",
"e": "4"
}
}
}
请注意,我不知道有哪些键和值进入,我想汇总(计数)它们。这两个事件的输出如下所示:
+-----------+------+-----------+--------+
| EventType | Key | Value | Amount |
+-----------+------+-----------+--------+
| Foobar | key1 | value1 | 2 |
+-----------+------+-----------+--------+
| Foobar | key2 | value1 | 1 |
+-----------+------+-----------+--------+
| Foobar | key2 | value2000 | 1 |
+-----------+------+-----------+--------+
| Foobar | 3 | three | 1 |
+-----------+------+-----------+--------+
| Foobar | d | 4 | 1 |
+-----------+------+-----------+--------+
| Foobar | e | 4 | 1 |
+-----------+------+-----------+--------+
有没有一种方法可以在不改变 JSON 结构的情况下在 Athena 中实现这一点?如何最好地映射和展平/查询结构?
【问题讨论】:
标签: sql json hive presto amazon-athena