AWS Athena DynamoDB Connector无法扫描含大写字母的DynamoDB表?
Athena DynamoDB Connector大写表名读取问题:确认与修复方案
现象确认
- 这个问题真实存在:Athena DynamoDB Connector会自动将含大写字母的DynamoDB表名转为小写,比如你创建的
MY_CARS会被它当成my_cars去查询。而DynamoDB表名是大小写敏感的,自然找不到对应表,最终触发元数据获取失败的报错。 - 社区里不少用户都反馈过相同情况,属于Connector已知的兼容性bug。
快速修复方案
1. 直接修改DynamoDB表名(最快生效)
把MY_CARS改成全小写的my_cars,然后在Athena里用小写表名创建外部表,即可正常查询。
2. 自定义修改Connector代码
如果无法修改表名,可自行调整Connector源码:
- 找到Connector处理表名的核心逻辑(一般在
DynamoDBMetadataHandler.java类中) - 删除自动转小写的代码,保留表名原始大小写
- 重新编译打包,上传到S3后更新Athena的Connector配置
3. 用Athena视图做映射
创建视图将小写表名指向实际的大写表:
CREATE VIEW my_cars_query AS SELECT * FROM "your_catalog"."your_db".my_cars
注:前提是Connector能同步出小写的my_cars元数据,部分场景可能不适用。
长期建议
给AWS Support提工单反馈这个bug,官方通常会在后续Connector版本中修复这类大小写处理问题。
内容的提问来源于stack exchange,提问作者moto kazi
相关产品推荐
相关产品推荐

