You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用AWS Athena解析嵌套JSON数组并提取指定数据

使用AWS Athena提取JSON数组中特定字段的值

假设你已经在Athena中创建了对应JSON数据的外部表(如果还没建表,可参考下方的建表语句),通过以下SQL查询即可提取目标字段:

1. 建表语句(未创建表时使用)

如果JSON文件存储在S3路径s3://your-bucket/path/to/json/,可以用以下语句创建外部表:

CREATE EXTERNAL TABLE IF NOT EXISTS your_table_name (
  userIdentifier STRING,
  myarray ARRAY<STRUCT<
    code: STRING,
    requiresinput: BOOLEAN,
    categorycode: STRING,
    originalrequiresinput: BOOLEAN,
    title: STRING,
    enabled: BOOLEAN
  >>
)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
LOCATION 's3://your-bucket/path/to/json/';

2. 核心查询语句

利用UNNEST展开数组,再通过条件过滤出title等于"zz"的条目,最终提取需要的字段:

SELECT 
  userIdentifier,
  item.enabled
FROM 
  your_table_name,
  UNNEST(myarray) AS t(item)
WHERE 
  item.title = 'zz';

查询结果示例

useridentifier | enabled
---------------|--------
xyz-123        | true

内容的提问来源于stack exchange,提问作者Gabe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 01:12:06