2017-09-02 48 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”符号来完成答案。 –