配置单元查询错误

pftdvrlh  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(389)

我正在尝试使用如下的hiveconf参数将选项卡分隔的文件加载到配置单元文本文件表中-

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

我在google上搜索了一下,知道这是由于hive关键字造成的,但是我已经成功地创建了表,当我通过硬编码文件名和表名来加载文件时,数据就被加载了!请帮帮我!
谢谢您!

yfwxisqw

yfwxisqw1#

无法正确传递上下文变量。应该是的 -hiveconf 在每个变量之前:

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

相关问题