Hive查询错误

时间:2017-11-22 11:15:33

标签: hive

我正在尝试使用hiveconf参数将制表符分隔文件加载到HIVE文本文件表中,如下所示 -

load data local inpath '${hiveconf:TEXT_FILE}' into table ${hiveconf:HIVE_TABLE};

但是当我运行这个.hql文件时如下

hive -hiveconf DB=$DB TEXT_FILE="$text_file_name" HIVE_TABLE=$HIVE_TABLE -f file_load.hql

我收到以下错误 -

NoViableAltException(16@[202:1: tableName : (db= identifier DOT tab= identifier -> ^( TOK_TABNAME $db $tab) |tab= identifier -> ^( TOK_TABNAME $tab) );])
        at org.antlr.runtime.DFA.noViableAlt(DFA.java:158)
......
......
FAILED: ParseException line X:YY cannot recognize input near '$' '{' 'hiveconf' in table name

我在谷歌搜索并了解它是由于hive关键字,但我已经成功创建了表格,当我通过硬编码文件名和表名加载文件时,数据被加载!请帮帮我!

谢谢!

1 个答案:

答案 0 :(得分:1)

您错误地传递了上下文变量。在每个变量之前它应该是-hiveconf

hive -hiveconf DB=$DB -hiveconf TEXT_FILE="$text_file_name" -hiveconf HIVE_TABLE=$HIVE_TABLE -f file_load.hql