Hive允许列名

时间:2017-06-12 08:29:49

标签: hive

我是Hive的新手。在创建Hive表时,我遇到了以下错误:

 >create table coffee (WINDOW int);

 Error: Error while compiling statement: FAILED: ParseException line 1:23 
 cannot recognize input near 'WINDOW' 'int' ')' in column specification 
 (state=42000,code=40000)

当我挖掘更多时,我意识到它的发生是由于我在Hive中创建表时使用的保留关键字“Window”。我是否可以在Hive中获取所有保留关键字的列表,该列表不能用作列名称。我在以下链接中获得了保留关键字列表,但是我可以在创建表时使用许多列出的保留关键字作为列名。

https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL

2 个答案:

答案 0 :(得分:1)

您可以使用反引号来创建包含关键字名称的表/列,例如

create table coffee (`WINDOW` int);

无论如何,我建议选择一个不同的名称,如果你想按列名选择数据,你也必须使用反引号

答案 1 :(得分:0)

您不能将保留关键字用作列名。 WINDOW是一个反向关键字。因此,请为变量使用其他名称。