2017-09-02 78 views
0

我已經設置了蜂巢上的MAC。執行簡單的創建外部表格查詢。我得到以下堆棧跟蹤:在org.apache.hadoop.hive.ql.parse.HiveParser.columnNameTypeOrPKOrFK(HiveParser.java:33341) 蜂巢:在簡單的獲得ParseException的創建外部表查詢

 hive> CREATE EXTERNAL TABLE weatherext (wban INT, date STRING) 
     > ROW FORMAT DELIMITED 
     > FIELDS TERMINATED BY ‘,’ 
     > LOCATION ‘ /hive/data/weatherext’; 

NoViableAltException(80 @ [])的組織。 apache.hadoop.hive.ql.parse.HiveParser.columnNameTypeOrPKOrFKList(HiveParser.java:29513) at org.apache.hadoop.hive.ql.parse.HiveParser.createTableStatement(HiveParser.java:6175) at org.apache。 hadoop.hive.ql.parse.HiveParser.ddlStatement(HiveParser.java:3808) at org.apache.hadoop。org.apache.hadoop.hive.ql.parse.HiveParser.execStatement(HiveParser.java:2382) at org.apache.hadoop。 hive.ql.parse.HiveParser.statement(喜(org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:204) at org.apache.hadoop.hive.ql.parse.ParseUtils.parse(ParseUtils。的java:77) 在org.apache.hadoop.hive.ql.parse.ParseUtils.parse(ParseUtils.java:70) 在org.apache.hadoop.hive.ql.Driver.compile(Driver.java:468) at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1316) at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1456) at org.apache。 hadoop.hive.ql.Driver.run(Driver.java:1236) 在org.apache.hadoop.hive.ql.Driver.run(Driver.java:1226) 在org.apache.hadoop.hive.cli。 CliDriver.processLocalCmd在org.apache.hadoop.hive.cli.Cl(CliDriver.java:233) iDriver.processCmd(CliDriver.java:184) at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:403) at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver。 java:821) at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:759) at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:686) at sun.reflect.NativeMethodAccessorImpl.invoke0(本機方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect中.Method.invoke(Method.java:498) 在org.apache.hadoop.util.RunJar.run(RunJar.java:221) 的組織。 apache.hadoop.util.RunJar.main(RunJar.java:136) FAILED:ParseException行1:45無法識別列名稱或主鍵或外鍵中'date''STRING'')'附近的輸入。

我能夠在Ubuntu上成功運行相同的查詢。 是否必須在`hive2中將`coulmn名稱包圍'?

+0

該線正好產生此異常? – Mandy8055

+0

@ Mandy8055 - 「ParseException線1:45」 –

回答

2
  1. date是保留字,應該限定。
  2. 您正在使用錯誤的限定符。您應該使用'而不是
  3. 你在你的開始位置空間/hive/data...

CREATE EXTERNAL TABLE weatherext (wban INT, `date` STRING) 
ROW FORMAT DELIMITED 
FIELDS TERMINATED BY ',' 
LOCATION '/hive/data/weatherext'; 
+0

非常感謝你的工作。你能否給我建議一些很好的配置單元教程,本書。我是絕對的初學者。 –

+0

現在什麼都沒有想到。 ** P.s。**通過標記留下答案的「V」符號來完成答案。 –