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

如何通过Athena查询将JSON数据转换为表格格式?

在Athena中解析DynamoDB导出的JSON并获取表格化结果

你当前的表把整个Item存成了字符串,要得到你想要的表格化结果,有两种简单方法:

方法一:重建表,直接解析嵌套结构

因为你的JSON是DynamoDB导出的格式,每个字段都带类型标识(比如S表示字符串),可以直接定义嵌套结构体来匹配:

CREATE EXTERNAL TABLE financials_parsed_json (
  Item struct<
    author: struct<S: string>,
    title: struct<S: string>,
    mytext: struct<S: string>
  >
)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
LOCATION 's3://lambdaoks/AWSDynamoDB/016/data/' 

建好表后,直接查询提取字段值:

SELECT 
  Item.author.S AS author,
  Item.title.S AS title,
  Item.mytext.S AS mytext
FROM financials_parsed_json;

方法二:用现有表,通过JSON函数提取字段

如果不想重建表,直接用Athena的JSON函数解析字符串类型的Item:

SELECT 
  json_extract_scalar(Item, '$.author.S') AS author,
  json_extract_scalar(Item, '$.title.S') AS title,
  json_extract_scalar(Item, '$.mytext.S') AS mytext
FROM financials_raw_json;

json_extract_scalar会直接提取指定JSON路径对应的字符串值,刚好适配DynamoDB的这种格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 04:35:01