Impala上的Pentaho CDE参数化查询

时间:2014-06-24 13:18:11

标签: sql hadoop pentaho impala pentaho-cde

我正在尝试使用$ {parameter_name}表示法从Pentaho(版本5.0.6)CDE上执行Impala参数化查询。我发现如果我删除参数并在SQL查询中硬编码值,一切正常,但如果我放入参数,一切都停止使用通用错误消息“错误处理组件”(我正在使用CDE的表组件显示值)。在pentahobaserver-stdout日志文件中,我发现了以下异常:

Jun 24, 2014 3:01:08 PM com.sun.jersey.spi.container.ContainerResponse mapMappableContainerException
SEVERE: The exception contained within MappableContainerException could not be mapped to a response, re-throwing to the HTTP container
java.lang.NoSuchMethodError: org.pentaho.reporting.engine.classic.core.ReportDataFactoryException.getParentThrowable()Ljava/lang/Throwable;

这似乎是一个过于通用的错误消息(由此错误导致http://jira.pentaho.com/browse/CDA-79

经过对网络的更多调查后,我认为我遇到了this问题。现在我既不能避免使用参数,也不能避免使用Pentaho或使用Impala,因此,我被卡住了。这个问题有解决方法吗?

提前谢谢你:)

1 个答案:

答案 0 :(得分:0)

不是真的。 Impala的JDBC驱动程序不支持PreparedStatements中的参数,这些参数在报告库中使用。

要解决这个问题很难。解决问题的最佳方法可能是使用Kettle转换来动态构建查询并将其发布到Impala。

这样,参数处理将在Kettle级别完成,但对于Impala,它将是一个静态查询。