簡體   English   中英

蜂巢| 無法創建分區表 ParseException

[英]Hive | Unable to create a partitioned table | ParseException

我正在嘗試從Hive CLI創建分區表,

CREATE EXTERNAL TABLE IF NOT EXISTS stocks (
   ymd             STRING,
   price_open      FLOAT, 
   price_high      FLOAT,
   price_low       FLOAT,
   price_close     FLOAT,
   volume          FLOAT,
   price_adj_close FLOAT
 )
 PARTITIONED BY (exchange STRING, symbol STRING)
 ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';

但是終端拋出一個異常,而不是“ ParseException”。

錯誤轉儲,

NoViableAltException(100@[])
    at org.apache.hadoop.hive.ql.parse.HiveParser_IdentifiersParser.identifier(HiveParser_IdentifiersParser.java:11545)
    at org.apache.hadoop.hive.ql.parse.HiveParser.identifier(HiveParser.java:44551)
    at org.apache.hadoop.hive.ql.parse.HiveParser.columnNameType(HiveParser.java:38215)
    at org.apache.hadoop.hive.ql.parse.HiveParser.columnNameTypeList(HiveParser.java:36417)
    at org.apache.hadoop.hive.ql.parse.HiveParser.tablePartition(HiveParser.java:32852)
    at org.apache.hadoop.hive.ql.parse.HiveParser.createTableStatement(HiveParser.java:4922)
    at org.apache.hadoop.hive.ql.parse.HiveParser.ddlStatement(HiveParser.java:2364)
    at org.apache.hadoop.hive.ql.parse.HiveParser.execStatement(HiveParser.java:1586)
    at org.apache.hadoop.hive.ql.parse.HiveParser.statement(HiveParser.java:1062)
    at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:199)
    at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:166)
    at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:393)
    at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:305)
    at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1110)
    at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1158)
    at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1047)
    at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1037)
    at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:207)
    at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:159)
    at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:370)
    at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:756)
    at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:675)
    at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:615)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
FAILED: ParseException line 10:17 cannot recognize input near 'exchange' 'STRING' ',' in column specification

有什么線索我在這里想念嗎? 語法看起來無懈可擊:)

謝謝

Exchange是蜂巢中的關鍵字。 您必須為分區列使用其他名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM