【发布时间】:2022-01-26 05:29:06
【问题描述】:
我正在尝试从存在于 Athena 的某个字段中的数组中选择所有元素,例如:
{
id: "1",
name: "bla",
array: [{
val1: "2",
val2: "2"
}, {
val1: "3",
val2: "4"
}]
}
{
id: "3",
name: "bla bla",
array: [{
val1: "5",
val2: "6"
}, {
val1: "7",
val2: "8"
}]
}
我正在尝试创建一个从内部数组中选择所有元素的视图,结果将是:
+----+------+------+
| id | val1 | val2 |
+----+------+------+
| 1 | 2 | 2 |
+----+------+------+
| 1 | 3 | 4 |
+----+------+------+
| 2 | 5 | 6 |
+----+------+------+
| 2 | 7 | 8 |
+----+------+------+
产生这种输出的查询是什么?
实际文件将是每行一项,如下所示:
{ 编号:“1”, 名称:“布拉”, 大批: [{ val1:“2”, val2:“2” }, { val1:“3”, val2:“4” }] }
{ 编号:“3”, 名称:“bla bla”, 大批: [{ val1:“5”, val2:“6” }, { val1:“7”, val2:“8” }] }
创建表的 DDL 如下所示:
CREATE EXTERNAL TABLE all (
id STRING,
name STRING,
array ARRAY<
struct<
val1:STRING,
val2:STRING
> >
)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
LOCATION 's3://abc/def'
【问题讨论】:
标签: amazon-athena