2013-06-04 11 views
0

У меня есть простой вопрос относительно запросов, запущенных на Impala (я использую конструктор отчетов Pentaho в качестве инструмента отчетности). По вопросу запроса:SQL-параметр в запросе Cloudera Impala

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. Причиной является параметр, потому что, если я изменю предложение where: a.country = 'Denmark', тогда я верну результаты (пуля быстро, чтобы быть точным, и именно поэтому мы хотели бы использовать это). Я знаю, что Pentaho хочет, чтобы его параметры записывались с помощью ${}, но я не нашел информацию об Impala, используя/не используя параметры. Любая информация, идеи, что-нибудь?

ответ

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