繁体   English   中英

Hive:在简单的创建外部表查询中获取parseexception

[英]Hive : getting parseexception in simple create external table query

我已经在Mac上设置了蜂巢。 在执行简单创建外部表查询时。 我在堆栈跟踪下面:

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

org.apache.hadoop.hive.ql.parse.HiveParser.columnNameTypeOrPKOrFKList(HiveParser.java:33341)上的org.apache.hadoop.hive.ql.parse.HiveParser.columnNameTypeOrPKOrFK(HiveParser.java:33341)处的NoViableAltException(80 @ []) :29513)位于org.apache.hadoop.hive.ql.parse.HiveParser.createTableStatement(HiveParser.java:6175)位于org.apache.hadoop.hive.ql.parse.HiveParser.ddlStatement(HiveParser.java:3808)位于位于org.apache的org.apache.hadoop.hive.ql.parse.HiveParser.statement(HiveParser.java:1333)的org.apache.hadoop.hive.ql.parse.HiveParser.execStatement(HiveParser.java:2382) org.apache.hadoop.hive.ql.parse.ParseUtils.parse(ParseUtils.java:77)上的hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:204)在org.apache.hadoop.hive上。 org.apache.hadoop.hive.ql.Driver.compile(Driver.java:468)上的ql.parse.ParseUtils.parse(ParseUtils.java:70)在org.apache.hadoop.hive.ql.Driver.compileInternal( org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1456)的Driver.java:1316)org.apache.hadoop.hive.ql.Driver.ru org.apache.hadoop.hive.ql中的n(Driver.java:1236).org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:233)中的Driver.run(Driver.java:1226)在org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:184)在org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:403)在org.apache.hadoop.hive org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:759)上的.cli.CliDriver.executeDriver(CliDriver.java:821)在org.apache.hadoop.hive.cli.CliDriver.main(CliDriver) .java:686),位于java.sun的sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法),位于sun.reflect.DelegatingMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)上的Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)。 org.apache.hadoop.util.RunJar.run(RunJar.java:221)处的lang.reflect.Method.invoke(Method.java:498)在org.apache.hadoop.util.RunJar.main(RunJar.java: 136)失败:ParseException行1:45无法识别列名或主列中'date''STRING'')'附近的输入 键或外键。

我能够在ubuntu上成功运行相同的查询。 在hive2中是否必须用`括住库伦名称?

  1. date是保留字,应为合格字。
  2. 您使用了错误的限定词。 您应该使用' and not ''
  3. 您的位置/hive/data...开头有空格/hive/data...

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM