我正在尝试使用如下的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关键字造成的,但是我已经成功地创建了表,当我通过硬编码文件名和表名来加载文件时,数据就被加载了!请帮帮我!
谢谢您!
1条答案
按热度按时间yfwxisqw1#
无法正确传递上下文变量。应该是的
-hiveconf
在每个变量之前: