2017-11-22 2 views
1

내가 탭은 다음과 같이 매개 변수를 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([email protected][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 

내가 구글에 검색과 키워드를 하이브로 인해 있다고 이해하지만 이미 만든 -

나는 아래의 오류 테이블을 성공적으로 만들고 파일 이름과 테이블 이름을 하드 코딩하여 파일을로드하면 데이터가로드됩니다. 제발 도와주세요!

감사합니다.

답변

1

컨텍스트 변수를 잘못 전달했습니다. 각 변수 앞에 -hiveconf이어야합니다.

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

어리석은 실수! 지적 해 주셔서 감사합니다! –