sopana
sopana

Reputation: 375

Hive query error

I'm trying to load a tab separated file to a HIVE text file table using hiveconf parameters as below -

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

But when I run this .hql file as below

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

I get the below error -

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

I searched on google and understood that it's due to hive keyword but I have already created the table successfully and when I load the file by hardcoding the file name and table name then the data gets loaded! Please help me here!

Thank you!

Upvotes: 1

Views: 1209

Answers (1)

leftjoin
leftjoin

Reputation: 38290

You passing context variables incorrectly. it should be -hiveconf before each variable:

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

Upvotes: 1

Related Questions