期待 KW_EXCHANGE 接近 'table' 改变交换分区
expecting KW_EXCHANGE near 'table' in alter exchange partition
我正在处理配置单元中的 table,它没有分区,输入格式为 textinputformat。这不是外部 table,我使用 "Create table as select" 模板创建它。
我使用 alter table 语句重命名 table,如下所示:
ALTER TABLE testdb.temptable RENAME TO testdb.newtable;
我收到以下错误:
Error: Error while compiling statement: FAILED: ParseException line 1:32 mismatched input 'RENAME' expecting KW_EXCHANGE near 'temptable' in alter exchange partition (state=42000,code=40000)
Closing: org.apache.hive.jdbc.HiveConnection
我看到这是配置单元中的一个错误。我使用的版本:
配置单元 0.12.0-cdh5.1.4
我该如何解决这个问题。在此先感谢您的帮助!
这不完全是一个错误,只是开放源代码的副作用,它是由世界各地一群形形色色的人完成的,没有 "product owner" 也没有使用通用编程风格(或 运行 广泛的回归测试,或 <在此处插入您的投诉>)。
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊……说正题啊
在 HiveQL 中,alter
命令不使用与 create
或 select
相同的语义;具体来说,您不能使用 "ALTER DATABASE.TABLE" 表示法。如果您尝试,HQL 解析器就会失败并显示一条奇怪的错误消息,正如您自己所见。
就是这样。您必须先输入 use
命令,然后输入 alter
命令,仅输入 table 名称。是的,这很糟糕。但事情就是这样。而且我看不出为什么它会很快改善。
[2017 年 6 月更新] 看起来 ALTER 终于支持 DB.TABLE 语法了最近的 Cloudera 发行版(在带有 Hive 1.1.0 的 CDH 5.10 上测试过 - 但由于它们通常在其发行版中包含许多向后端口,也许这是 Hive 1.2+ 的功能)
我有类似的错误消息,它在使用替代语法、选择架构并通过短名称引用 table 后消失了:
USE mydb;
ALTER TABLE mytable RECOVER PARTITIONS;
我正在处理配置单元中的 table,它没有分区,输入格式为 textinputformat。这不是外部 table,我使用 "Create table as select" 模板创建它。
我使用 alter table 语句重命名 table,如下所示:
ALTER TABLE testdb.temptable RENAME TO testdb.newtable;
我收到以下错误:
Error: Error while compiling statement: FAILED: ParseException line 1:32 mismatched input 'RENAME' expecting KW_EXCHANGE near 'temptable' in alter exchange partition (state=42000,code=40000)
Closing: org.apache.hive.jdbc.HiveConnection
我看到这是配置单元中的一个错误。我使用的版本: 配置单元 0.12.0-cdh5.1.4
我该如何解决这个问题。在此先感谢您的帮助!
这不完全是一个错误,只是开放源代码的副作用,它是由世界各地一群形形色色的人完成的,没有 "product owner" 也没有使用通用编程风格(或 运行 广泛的回归测试,或 <在此处插入您的投诉>)。
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊……说正题啊
在 HiveQL 中,alter
命令不使用与 create
或 select
相同的语义;具体来说,您不能使用 "ALTER DATABASE.TABLE" 表示法。如果您尝试,HQL 解析器就会失败并显示一条奇怪的错误消息,正如您自己所见。
就是这样。您必须先输入 use
命令,然后输入 alter
命令,仅输入 table 名称。是的,这很糟糕。但事情就是这样。而且我看不出为什么它会很快改善。
[2017 年 6 月更新] 看起来 ALTER 终于支持 DB.TABLE 语法了最近的 Cloudera 发行版(在带有 Hive 1.1.0 的 CDH 5.10 上测试过 - 但由于它们通常在其发行版中包含许多向后端口,也许这是 Hive 1.2+ 的功能)
我有类似的错误消息,它在使用替代语法、选择架构并通过短名称引用 table 后消失了:
USE mydb;
ALTER TABLE mytable RECOVER PARTITIONS;