【问题标题】:I keep getting this error Error in Hive while compiling statement: FAILED: ParseException line 2:16 mismatched input 'NOT' expecting ) near 'STRING'我在编译语句时不断收到此错误 Hive 中的错误:FAILED: ParseException line 2:16 mismatched input 'NOT' expecting ) near 'STRING'
【发布时间】:2019-12-07 22:39:41
【问题描述】:

编译语句时出错:

FAILED: ParseException line 2:16 不匹配输入 'NOT' 期望) 在 create table 语句中的“STRING”附近。

CREATE TABLE daily_volume (
amble STRING NOT NULL,
code STRING NOT NULL,
prod_code STRING NOT NULL,
legal entity STRING NOT NULL,
country STRING NOT NULL,
buile STRING NOT NULL,
cost_center STRING NOT NULL,
glack account STRING NOT NULL, 
inter STRING NOT NULL,
billing number STRING NOT NULL,
account number STRING NOT NULL,
transaction TIMESTAMP NOT NULL,
volume INTEGER NOT NULL)

ROW FORMAT DELIMITED

FIELDS TERMINATED BY '~' 

STORED AS TEXTFILE; 

LOCATION '/user/hive/warehouse/Eav/data/dev_ans_mns.db';

【问题讨论】:

  • 您的位置应该是放置文件的驱动器位置,并且它应该是由“~”分隔的文本格式,根据您的创建表规范。你的位置应该是'/user/hive/warehouse/dev/data';
  • 你想达到什么目的?您尝试检查出了什么问题?

标签: mysql sql hive hiveql


【解决方案1】:

我不认为 STRING 是 mysql 中的有效列类型,通常还需要字符串的长度

CHAR(30)
VARCHAR(30)

【讨论】:

    【解决方案2】:

    您的脚本中有两个问题:

    • NOT NULL 在 hive 中不存在;
    • 你放了“;”在指定位置声明之前!

    另外,请注意“dev_raw_mns.db”将是 hdfs 上的一个文件夹!

    【讨论】:

      【解决方案3】:

      从STORED AS TEXTFILE; 中删除;

      试试STORED AS TEXTFILE

      【讨论】:

        猜你喜欢
        • 2015-07-14
        • 1970-01-01
        • 1970-01-01
        • 2017-11-12
        • 2018-06-01
        • 1970-01-01
        • 2022-07-21
        • 1970-01-01
        • 2021-04-02
        相关资源
        最近更新 更多