如何在 Athena 中执行模式(数据库)重命名?
Posted
技术标签:
【中文标题】如何在 Athena 中执行模式(数据库)重命名?【英文标题】:How to execute schema(database) rename in Athena? 【发布时间】:2018-12-02 00:11:36 【问题描述】:我正在尝试使用 sqlworkbench 对 Athena 执行 sql 语句。我已经执行了几个查询,如果这是第一个问题,我知道我有联系。在 Athena 中重命名数据库或通过 jdbc 重命名 Athena 的解决方案是什么?
alter schema geoosm rename to geo_osm
执行 SQL 命令时出错:alter schema geoosm 重命名为 geo_osm
[Simba]AthenaJDBC AWS 抛出错误 雅典娜客户端。第 1:24 行:不匹配的输入 'rename' 期望 'SET' [执行 ID 不可用] [SQL 状态=HY000,DB 错误代码=100071] 1 语句失败。
执行时间:0.27s
我的 SQL 语法来自 Presto documentation 的 Athena,据我了解,这是 Athena 使用的语法。
8.1。 ALTER SCHEMA 简介
ALTER SCHEMA 名称重命名为 new_name
【问题讨论】:
【参考方案1】:抱歉,无法在 AWS Athena 中重命名数据库。幸运的是,表数据和表定义在 Athena 中是两个完全不同的东西。
您可以创建一个具有正确名称的新数据库,为您的表生成所有 DDL 并使用新数据库执行它们。
新数据库中的“新”表仍将指向同一位置,因此无需担心。
【讨论】:
只是对@Roberto 答案的一个有用补充——您可以使用ALTER TABLE SET LOCATION
更改表的位置,还可以使用@987654322 创建与其他表具有相同架构的 empty 表@以上是关于如何在 Athena 中执行模式(数据库)重命名?的主要内容,如果未能解决你的问题,请参考以下文章
如何让 MSCK REPAIR TABLE 在 AWS Athena 中自动执行