【发布时间】:2019-03-11 22:53:00
【问题描述】:
我在 Athena 中创建了一个具有以下结构的表
CREATE EXTERNAL TABLE s3_json_objects (
devId string,
type string,
status string
)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
WITH SERDEPROPERTIES ( 'ignore.malformed.json' = 'true')
LOCATION 's3://mybucket/folder1/data/athena_test/';
S3 存储桶对象包含这样的 JSON 结构
{ "devId": "00abcdef1122334401", "type": "lora", "status": "huihuhukiyg" }
但是下面的 SQL 工作正常并仅返回正确的结果 count
SELECT count(*) as total_s3_objects FROM "athena_db"."s3_json_objects"
但是每当我在 SQL 选择语句下面查询以获取 来自 S3 的 JSON 值,它返回列的空值的结果集
SELECT devid FROM "athena_db"."s3_json_objects" SELECT json_extract(devid , '$.devid') as Id FROM "athena_db"."s3_json_objects" SELECT * FROM "athena_db"."s3_json_objects"
另外,在 StackOverflow 和 AWS Athena doc 上发布此问题之前,我会查看这些链接
Can't read json file via Amazon Athena
AWS Athena json_extract query from string field returns empty values
任何 cmets 或建议将不胜感激。
【问题讨论】:
标签: json amazon-web-services amazon-athena presto