[Mondrian] HiveDialect not being found

Craig Soules craig at natero.com
Tue Jul 3 19:35:20 EDT 2012


Hello all,

I'm sure someone has seen this before, so hopefully this will be easy to
answer.

I'm trying to hook up Mondrian to Hive.  I noticed that there is a
HiveDialect implementation, but that it was not listed in the
META-INF/services/mondrian.spi.Dialect file in the 3.4.1 release.  I've
tried several methods for adding it (described below), but I keep feeling
the following error:

Main error
mondrian.olap.MondrianException: Mondrian Error:Internal error: while
quoting identifier
at mondrian.resource.MondrianResource$_Def0.ex(MondrianResource.java:942)
at mondrian.olap.Util.newInternal(Util.java:2261)
at
mondrian.spi.impl.JdbcDialectImpl.deduceIdentifierQuoteString(JdbcDialectImpl.java:179)
at mondrian.spi.impl.JdbcDialectImpl.<init>(JdbcDialectImpl.java:113)
at
mondrian.spi.DialectManager$DialectManagerImpl$1.createDialect(DialectManager.java:173)
at
mondrian.spi.DialectManager$ChainDialectFactory.createDialect(DialectManager.java:278)
at
mondrian.spi.DialectManager$CachingDialectFactory.createDialect(DialectManager.java:377)
at
mondrian.spi.DialectManager$DialectManagerImpl.createDialect(DialectManager.java:237)
at mondrian.spi.DialectManager.createDialect(DialectManager.java:80)
at
mondrian.test.loader.MondrianFoodMartLoader.load(MondrianFoodMartLoader.java:380)
at
mondrian.test.loader.MondrianFoodMartLoader.main(MondrianFoodMartLoader.java:342)
Caused by: java.sql.SQLException: Method not supported
at
org.apache.hadoop.hive.jdbc.HiveDatabaseMetaData.getIdentifierQuoteString(HiveDatabaseMetaData.java:356)
at
mondrian.spi.impl.JdbcDialectImpl.deduceIdentifierQuoteString(JdbcDialectImpl.java:172)
... 8 more

I believe this indicates that the default JdbcDialectImpl is being used
instead of the HiveDialect, but I can't seem to figure out why or how to
fix it.  I tried unpacking mondian.jar, adding a line for the HiveDialect,
and re-packing it.  I have also tried re-building Mondrian from scratch
with that line added to the build's version of the file, also with no
success.

I know that my JDBC parameters are correct, because I can see Mondrian
connecting to Hive, but because Hive's JDBC driver is not full-featured
(thus the need for the HiveDialect), I keep getting this failure.

Any pointers or help on this would be much appreciated!

Thanks!
Craig
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pentaho.org/pipermail/mondrian/attachments/20120703/89e604c3/attachment.html 


More information about the Mondrian mailing list