하이브의 전달 매개 변수가 작동하지 않습니다. 내 코드 :하이브의 매개 변수 전달이 작동하지 않습니다.
hive> set x='test variable';
hive> ${hiveconf:x};
는이 오류를 얻을 :
FAILED: Parse Error: line 1:0 cannot recognize input near
''test variable'' '<EOF>' '<EOF>'
하이브의 전달 매개 변수가 작동하지 않습니다. 내 코드 :하이브의 매개 변수 전달이 작동하지 않습니다.
hive> set x='test variable';
hive> ${hiveconf:x};
는이 오류를 얻을 :
FAILED: Parse Error: line 1:0 cannot recognize input near
''test variable'' '<EOF>' '<EOF>'
시도 :
hive> set x='test variable';
hive> set;
당신은 많은 변수의 값 중 x
변수의 값을 볼 수 있습니다.
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';
실행하기 전에'select $ {hiveconf : x}; '를 사용하여 인쇄하지 않는 이유는 무엇입니까? – leftjoin