It seems that Mondrian is trying to access a string column as if it were a long. Maybe you declared the column of the wrong type in your Mondrian schema file? Or maybe Kylin is not reporting the type accurately.
The JDBC driver code that is failing to convert ( *net.hydromatic.optiq.runtime.AbstractCursor*) is in Optiq, now called Calcite. Later versions of Calcite are more permissive about conversions so if Kylin upgraded to a more recent version of Calcite that would probably improve things. On Wed, May 20, 2015 at 2:47 AM, divye sheth <[email protected]> wrote: > Hi Devs, > > I am trying to get Mondrian to run over Kylin but get an exception while > creating a connection to Kylin via Mondrian below are the steps that I have > followed: > > 1. Setup Kylin using On-hadoop Install > 2. Execute the ./sample.sh script to create sample cube in Kylin > 3. Build Cube > 4. Test queries against the cube. Also tested using JDBC driver. > > But when I try to execute MDX using Mondrian on top of Kylin I get an > exception trace as follows: > *[Mondrian Monitor]:[2015-05-20 > 14:55:34,563][DEBUG][mondrian.server.MonitorImpl$Actor.run(MonitorImpl.java:975)] > - StatementEndEvent(0)* > *java.lang.RuntimeException: cannot convert to long > (net.hydromatic.optiq.runtime.AbstractCursor$StringAccessor@fff056c)* > * at > net.hydromatic.optiq.runtime.AbstractCursor$AccessorImpl.cannotConvert(AbstractCursor.java:287)* > * at > net.hydromatic.optiq.runtime.AbstractCursor$AccessorImpl.getLong(AbstractCursor.java:243)* > * at > net.hydromatic.optiq.runtime.AbstractCursor$AccessorImpl.getInt(AbstractCursor.java:239)* > * at > net.hydromatic.avatica.AvaticaResultSet.getInt(AvaticaResultSet.java:220)* > * at > org.apache.commons.dbcp.DelegatingResultSet.getInt(DelegatingResultSet.java:225)* > * at > mondrian.rolap.aggmatcher.JdbcSchema$Table.loadColumns(JdbcSchema.java:972)* > * at mondrian.rolap.aggmatcher.JdbcSchema$Table.load(JdbcSchema.java:775)* > * at > mondrian.rolap.RolapSchema$PhysTable.populateColumns(RolapSchema.java:1853)* > * at > mondrian.rolap.RolapSchema$PhysRelationImpl.ensurePopulated(RolapSchema.java:1519)* > * at > mondrian.rolap.RolapSchema$PhysTable.ensurePopulated(RolapSchema.java:1729)* > * at > mondrian.rolap.RolapSchemaLoader.registerTable(RolapSchemaLoader.java:1051)* > * at > mondrian.rolap.RolapSchemaLoader.validatePhysicalSchema(RolapSchemaLoader.java:715)* > * at > mondrian.rolap.RolapSchemaLoader.loadStage2(RolapSchemaLoader.java:376)* > * at > mondrian.rolap.RolapSchemaLoader.loadStage1(RolapSchemaLoader.java:336)* > * at > mondrian.rolap.RolapSchemaLoader.loadStage0(RolapSchemaLoader.java:272)* > * at > mondrian.rolap.RolapSchemaLoader.createSchema(RolapSchemaLoader.java:4303)* > * at mondrian.rolap.RolapSchemaPool.get(RolapSchemaPool.java:210)* > * at mondrian.rolap.RolapSchemaPool.get(RolapSchemaPool.java:62)* > * at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:160)* > * at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:84)* > * at mondrian.olap.DriverManager.getConnection(DriverManager.java:112)* > * at mondrian.olap.DriverManager.getConnection(DriverManager.java:68)* > * at > mondrian.olap4j.MondrianOlap4jConnection.<init>(MondrianOlap4jConnection.java:153)* > * at > mondrian.olap4j.FactoryJdbc4Plus$AbstractConnection.<init>(FactoryJdbc4Plus.java:323)* > * at > mondrian.olap4j.FactoryJdbc41Impl$MondrianOlap4jConnectionJdbc41.<init>(FactoryJdbc41Impl.java:118)* > * at > mondrian.olap4j.FactoryJdbc41Impl.newConnection(FactoryJdbc41Impl.java:32)* > * at > mondrian.olap4j.MondrianOlap4jDriver.connect(MondrianOlap4jDriver.java:139)* > * at java.sql.DriverManager.getConnection(DriverManager.java:571)* > * at java.sql.DriverManager.getConnection(DriverManager.java:233)* > * at com.fractal.mondrian.kylin.MondrianKylin.main(MondrianKylin.java:27)* > > I tried searching a lot but the only link I could find related to this > issue was > > https://groups.google.com/forum/#!searchin/optiq-dev/mondrian/optiq-dev/qMd5FyOtp28/-BBsC4ScKe0J > > *Kylin Version: 0.7-1* > *Hadoop: 2.6* > *Hbase: 0.98* > *Hive: 1.0.1* > *Mondrian Jar: 4.3* > > Attached is the mondrian xml for reference that corresponds to the cube in > Kylin. > I am not pretty sure what am I doing wrong, any help/pointers would be > appreciated a lot. Apologize if this is not a Kylin issue. > > I am new to the Kylin community. > > Thanks > Divye Sheth >
