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 参数的主要内容,如果未能解决你的问题,请参考以下文章

从放弃到入门27之大数据Cloudera Impala

一旦我已经在 impala shell 中,如何运行 .sql 文件?

Cloudera Hadoop Impala - 提取上次刷新日期

大数据分析查询引擎Impala

Apache Impala数据连接

impala