I am trying to execute on Impala a parameterized query from Pentaho (version 5.0.6) CDE using the ${parameter_name} notation. I found out that if I remove the parameter and I hard-code the value in the SQL query, everything works fine, but if I put the parameter, everything stops working with the generic error message "Error processing component" (I am using the table component of CDE to show the values). In the pentahobaserver-stdout log file I found the following exception:
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;
Which seems to be a too generic error message (caused by this bug http://jira.pentaho.com/browse/CDA-79)
After some more investigation on the web, I think I bumped into this problem. For now I cannot avoid neither the use of parameters, nor the use of Pentaho nor the use of Impala, thus, I am stuck. Is there a workaround to this problem?
Thank you in advance :)
Not really. The JDBC driver for Impala does not support parameters in PreparedStatements which is what is used in the Reporting libraries.
It's a hard one to solve. Probably the best way to workaround it is to use a Kettle transformation that dynamically builds the queries and issues them to Impala.
That way, parameter handling will be done at the Kettle level, but for Impala it will be a static query.