2017-06-12 3 views
0

私は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) 

、私が原因ハイブにテーブルを作成している間、私が使用している予備のキーワード「ウィンドウ」にその出来事を実現しました。 の予約キーワードがハイブにあり、カラム名として使用できません。私は次のリンクで予備のキーワードのリストを得ましたが、私はテーブルを作成する際に列名として列挙された予約キーワードをたくさん使用することができます。

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

+0

実際には、 "予約語"のリストはHiveバージョンに依存し、実際には予約語のリストもHiveバージョンに依存します。すべての「予約語」を避け、安全な側に留まる。 –

答えて

0

あなたは、列名として予約キーワードを使用することはできません。 WINDOWは逆のキーワードです。したがって、変数には他の名前を使用してください。

+0

私が私の記述で言及したように。私はWINDOWが使用できない予約キーワードであることを知っています。私の質問は、Hive Columnとして使用できない予約キーワードのリストがある場合です。 –

+0

backtick quotation( '')内でreserveキーワードを使用すると、カラム名として使用できるようになります。 –

0

あなたはとにかくこの

create table coffee (`WINDOW` int); 

などのキーワード名を持つテーブル/列を作成するために引用符をバッククォート使用することができ、私はあなたが列名でデータを選択したい場合は、あなたもなります、別の名前を選択推薦します

関連する問題