2013-06-04 2 views
0

임팔라에서 실행되는 쿼리에 관한 간단한 질문이 있습니다. (필자는보고 도구로 Pentaho 보고서 디자이너를 사용하고 있습니다.) 쿼리는 다음과 같습니다.Cloudera Impala 쿼리의 SQL 매개 변수

select a.*, b.sentatmosphere, b.sentgeneral, b.sentnetcharge, b.sentnetqual, b.sentservice, b.senttidiness 
from p_country_town_hotel a left outer join p_hotel_rev_agg b on (a.hotel = b.key) 
where a.country = ${Cntry} order by a.City limit 10000   

이는 Pentaho Report Designer에서 실패합니다. 그 이유는 매개 변수입니다. 왜냐하면 만약 where 절을 다음과 같이 변경하면 a.country = 'Denmark' 결과를 얻을 수 있기 때문입니다. 필자는 Pentaho가 ${}으로 작성된 매개 변수를 원한다는 것을 알고 있지만 매개 변수를 사용하지 않고 임팔라에 대한 정보를 찾지 못했습니다. 어떤 정보, 아이디어, 뭐?

답변

0

환경 변수 또는 하이브 구성 변수로 HQL을 매개 변수화하려고 시도 했습니까? 당신은 ...

select a.*, b.sentatmosphere, b.sentgeneral, b.sentnetcharge, b.sentnetqual, b.sentservice, b.senttidiness from p_country_town_hotel a left outer join p_hotel_rev_agg b on (a.hotel = b.key) 
where a.country = ${env:Cntry} order by a.City limit 10000 

또는

select a.*, b.sentatmosphere, b.sentgeneral, b.sentnetcharge, b.sentnetqual, b.sentservice, b.senttidiness from p_country_town_hotel a left outer join p_hotel_rev_agg b on (a.hotel = b.key) 
where a.country = ${hiveconf:Cntry} order by a.City limit 10000 
를 시도 할 수 있습니다
관련 문제