2016-10-03 1 views
-2

하이브의 전달 매개 변수가 작동하지 않습니다. 내 코드 :하이브의 매개 변수 전달이 작동하지 않습니다.

hive> set x='test variable'; 
hive> ${hiveconf:x}; 

는이 오류를 얻을 :

FAILED: Parse Error: line 1:0 cannot recognize input near ''test variable'' '<EOF>' '<EOF>'

+0

실행하기 전에'select $ {hiveconf : x}; '를 사용하여 인쇄하지 않는 이유는 무엇입니까? – leftjoin

답변

0

시도 :

hive> set x='test variable'; 
hive> set; 

당신은 많은 변수의 값 중 x 변수의 값을 볼 수 있습니다.

0
hive> ${hiveconf:x}; 

문자 그대로 대체 할 사람은 'test variable'입니다. 그래서 당신은 명령을 실행하고 있습니다.

hive> 'test variable'; 

오류가 발생해야합니다. 오류는 SQL에서 본 명령이 아니기 때문에 발생합니다. 당신이 출력 x의 값을하려는 경우 당신은 성명에서 x의 값을 사용하려면

, 당신은 단지 당신이 할 수있는,

SET x; 

을 할 필요가

SELECT * FROM TABLE tbl WHERE a=${hiveconf:x}; 

은 명령을 실행합니다

SELECT * FROM TABLE tbl WHERE a='test variable';