amazon-web-services - 将 S3 存储桶添加到 Lake Formation 后,Athena 查询失败
问题描述
- 这是我们在 Athena 中得到的错误:
HIVE_UNKNOWN_ERROR: Error creating an instance of com.facebook.presto.hive.lakeformation.CachingLakeFormationCredentialsProvider
- 该存储桶已在 Lake Formation 注册
- 用于查询 Athena 的角色已在 Lake Formation 中获得对数据库和数据库中所有表的完全访问权限
- 角色已获得对 Lake Formation 数据位置部分中底层 s3 存储桶的访问权限。
解决方案
已联系 AWS 支持。原来问题是我有“-”和“。” 在我的 Athena 数据库名称中。根据雅典娜文档:
“数据库名称、表名称和列名称唯一可接受的字符是小写字母、数字和下划线字符。” (https://docs.aws.amazon.com/athena/latest/ug/glue-best-practices.html#schema-names)
出于某种原因,当我们在 Lake Formation 外工作时,这不是问题,但是一旦我们在 LF 中注册了 S3 位置,它就开始失败。我已经确认从数据库名称中删除这些字符可以解决问题。
推荐阅读
- css - 轮播蓝色下划线
- python - Decodebin 解码音频而不是视频
- javascript - 为什么变量 j 需要在每次迭代时为我的 javascript 蛮力解决方案分配给 twoSum?
- openchrom - 无法继续超出开始屏幕 (Mac OS 11.4)
- ruby-on-rails - 将 heroku SSL 添加到 Heroku 应用和 godaddy RoR
- mysql - 使用通配符在 varchar 中选择 WHERE
- javascript - 为什么我的道具在孙子组件中不起作用?
- regex - grep -o 正则表达式有两种可能性
- javascript - 总篮反应式vuejs
- android - 如何在回收站视图中刷新更新的数据?