Cloudera Impala 查询中的 SQL 参数
Posted
技术标签:
【中文标题】Cloudera Impala 查询中的 SQL 参数【英文标题】:SQL Parameter in Cloudera Impala query 【发布时间】:2013-06-04 07:59:40 【问题描述】:我有一个关于在 Impala 上运行的查询的简单问题(我使用 Pentaho 报表设计器作为我的报表工具)。查询是:
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 使用/不使用参数的信息。有任何信息、想法或任何东西吗?
【问题讨论】:
【参考方案1】:您是否尝试过使用环境变量或配置单元配置变量参数化 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
【讨论】:
以上是关于Cloudera Impala 查询中的 SQL 参数的主要内容,如果未能解决你的问题,请参考以下文章
一旦我已经在 impala shell 中,如何运行 .sql 文件?