MongoDB对接AWS Athena后嵌套数组查询失败求助
解决MongoDB对接AWS Athena的UNNEST查询错误
核心问题
查询报错的直接原因是字段名大小写不匹配:
- 原数据结构中的数组字段是小写的
legal_names - 但查询语句里写成了大小写混合的
Legal_Names
Athena对字段名大小写敏感,从MongoDB导入的表会严格保留原字段的大小写格式,因此字段名必须完全匹配才能正常解析。
正确查询语句
将字段名修正为legal_names,调整后的查询如下:
SELECT n.ORG FROM "aslanss"."entities" CROSS JOIN UNNEST("aslanss"."entities"."legal_names") AS t(n) LIMIT 10
额外排查点
- 可通过执行
DESCRIBE "aslanss"."entities";确认Athena表的schema中,数组字段名称确实为legal_names - 如果数组存在为空的情况,建议改用
LEFT JOIN UNNEST(...),避免丢失包含空数组的记录 - 检查
MERCHANT_NUMBER的类型是否在Athena中正确映射为double,避免因类型不兼容引发隐性错误
内容的提问来源于stack exchange,提问作者Gaurav Gupta
相关产品推荐
相关产品推荐

