Problem connecting optiq-mongo to Saiku

543 views
Skip to first unread message

Juan Rodríguez Hortalá

unread,
Feb 19, 2014, 12:28:35 PM2/19/14
to opti...@googlegroups.com
Hi,

I´ve been trying to connect Optiq mongo to Saiku, and I'm having problems with the URL for the JDBC connection. I'm using Optiq 0.4.18-SNAPSHOT and I have connection to mongo from sqlline following the tutorial. Now I'm trying to configure a connection from Saiku adapting the instructions in http://docs.analytical-labs.com/saiku/documentation/2013/08/15/datasources.html (I've been able to connect Saiku to Apache Phoenix this way). I think the problem is in the query string because I get the following messages from Saiku at catalina.out:

mondrian.olap.MondrianException: Mondrian Error:Internal error: Error while creating SQL connection: Jdbc=jdbc:optiq:model=file:/home/cloudera/Sistemas/optiq/mongodb/target/test-classes/mongo-zips-model-juanrh.json; JdbcUser=admin; JdbcPassword=admin
    at mondrian.resource.MondrianResource$_Def0.ex(MondrianResource.java:972)
    at mondrian.olap.Util.newInternal(Util.java:2421)
    at mondrian.olap.Util.newError(Util.java:2437)
    at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:246)
    at mondrian.rolap.RolapSchema.<init>(RolapSchema.java:187)
    at mondrian.rolap.RolapSchema.<init>(RolapSchema.java:215)
    at mondrian.rolap.RolapSchemaPool.get(RolapSchemaPool.java:214)
    at mondrian.rolap.RolapSchemaPool.get(RolapSchemaPool.java:66)
    at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:160)
    at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:90)
    at mondrian.olap.DriverManager.getConnection(DriverManager.java:112)
    at mondrian.olap.DriverManager.getConnection(DriverManager.java:68)
    at mondrian.olap4j.MondrianOlap4jConnection.<init>(MondrianOlap4jConnection.java:140)
    at mondrian.olap4j.FactoryJdbc4Plus$AbstractConnection.<init>(FactoryJdbc4Plus.java:323)
    at mondrian.olap4j.FactoryJdbc4Impl$MondrianOlap4jConnectionJdbc4.<init>(FactoryJdbc4Impl.java:104)
    at mondrian.olap4j.FactoryJdbc4Impl.newConnection(FactoryJdbc4Impl.java:32)
    at mondrian.olap4j.MondrianOlap4jDriver.connect(MondrianOlap4jDriver.java:132)
    at java.sql.DriverManager.getConnection(DriverManager.java:582)
    at java.sql.DriverManager.getConnection(DriverManager.java:185)
    at org.saiku.datasources.connection.SaikuOlapConnection.connect(SaikuOlapConnection.java:75)
    at org.saiku.datasources.connection.SaikuOlapConnection.connect(SaikuOlapConnection.java:46)
    at org.saiku.datasources.connection.SaikuConnectionFactory.getConnection(SaikuConnectionFactory.java:29)
    at org.saiku.web.impl.SecurityAwareConnectionManager.connect(SecurityAwareConnectionManager.java:265)
    at org.saiku.web.impl.SecurityAwareConnectionManager.getInternalConnection(SecurityAwareConnectionManager.java:80)
    at org.saiku.datasources.connection.AbstractConnectionManager.getConnection(AbstractConnectionManager.java:93)
    at org.saiku.datasources.connection.AbstractConnectionManager.getAllConnections(AbstractConnectionManager.java:119)
    at org.saiku.web.impl.SecurityAwareConnectionManager.init(SecurityAwareConnectionManager.java:57)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1536)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1409)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:574)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3972)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4467)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1041)
    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:964)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    at org.apache.catalina.core.StandardService.start(StandardService.java:516)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:593)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.sql.SQLException: No suitable driver found for jdbc:optiq:model=file:/home/cloudera/Sistemas/optiq/mongodb/target/test-classes/mongo-zips-model-juanrh.json
    at java.sql.DriverManager.getConnection(DriverManager.java:602)
    at java.sql.DriverManager.getConnection(DriverManager.java:154)
    at org.apache.commons.dbcp.DriverManagerConnectionFactory.createConnection(DriverManagerConnectionFactory.java:68)
    at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:294)
    at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:974)
    at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:96)
    at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:226)
    ... 66 more

On the other hand with sqlline I was able to connect with

sqlline> !connect jdbc:optiq:model=/home/cloudera/Sistemas/optiq/mongodb/target/test-classes/mongo-zips-model-juanrh.json admin admin

I've tried with variants on this and I get the same error:

Caused by: java.sql.SQLException: No suitable driver found for jdbc:optiq:model=/home/cloudera/Sistemas/optiq/mongodb/target/test-classes/mongo-zips-model-juanrh.json

Caused by: java.sql.SQLException: No suitable driver found for jdbc:optiq:model=///home/cloudera/Sistemas/optiq/mongodb/target/test-classes/mongo-zips-model-juanrh.json

Caused by: java.sql.SQLException: No suitable driver found for jdbc:optiq:model:file:///home/cloudera/Sistemas/optiq/mongodb/target/test-classes/mongo-zips-model-juanrh.json

My Saiku configuration is as follows, in case it helps:

type=OLAP
name=optiqmongo
driver=mondrian.olap4j.MondrianOlap4jDriver
# location=jdbc:mondrian:Jdbc=jdbc:phoenix:localhost;Catalog=res:phoenix/Phoenix.xml;JdbcDrivers=org.apache.phoenix.jdbc.PhoenixDriver
location=jdbc:mondrian:Jdbc=jdbc:optiq:model=/home/cloudera/Sistemas/optiq/mongodb/target/test-classes/mongo-zips-model-juanrh.json;Catalog=res:optiq-mongo/OptiqMongo.xml;JdbcDrivers=net.hydromatic.optiq.impl.mongodb.MongoSchemaFactory;
username=admin
password=admin

Any idea will be welcome. Thanks a lot for your help!

Greetings,

Juan Rodriguez

Julian Hyde

unread,
Feb 19, 2014, 1:36:02 PM2/19/14
to opti...@googlegroups.com, p.stoel...@gmail.com, t...@analytical-labs.com
I think it’s a problem in your Saiku config. Saiku needs to tell Mondrian what JDBC driver to use to connect to "jdbc:optiq:…” connections.

Change

  JdbcDrivers=net.hydromatic.optiq.impl.mongodb.MongoSchemaFactory

to

  JdbcDrivers=net.hydromatic.optiq.jdbc.Driver

And make sure that optiq-core.jar, optiq-avatica.jar and optiq-mongodb.jar are on your class path. (If these jars are on your class path, you not need to set JdbcDrivers at all.)

Julian

--
You received this message because you are subscribed to the Google Groups "optiq-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to optiq-dev+...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Juan Rodríguez Hortalá

unread,
Feb 20, 2014, 11:33:05 AM2/20/14
to opti...@googlegroups.com
Hi Julian, thanks for your answer. I have changed my Saiku configuration as you suggested, now I have

type=OLAP
name=optiqmongo
driver=mondrian.olap4j.MondrianOlap4jDriver
location=jdbc:mondrian:Jdbc=jdbc:optiq:model=file:/home/cloudera/Sistemas/optiq/mongo-zips-model-juanrh.json;Catalog=res:optiqmongo/OptiqMongo.xml;JdbcDrivers=net.hydromatic.optiq.jdbc.Driver
username=admin
password=admin

but I still get an exception at Saiku initialization

name:optiqmongo
driver:mondrian.olap4j.MondrianOlap4jDriver
url:jdbc:mondrian:Jdbc=jdbc:optiq:model=file:/home/cloudera/Sistemas/optiq/mongo-zips-model-juanrh.json;Catalog=res:optiqmongo/OptiqMongo.xml;JdbcDrivers=net.hydromatic.optiq.jdbc.Driver
08:24:11,146 ERROR [ContextLoader] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'connectionManager' defined in ServletContext resource [/WEB-INF/saiku-beans.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class net.hydromatic.optiq.jdbc.Driver
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1412)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class net.hydromatic.optiq.jdbc.Driver
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:169)
    at mondrian.rolap.RolapUtil.loadDrivers(RolapUtil.java:389)
    at mondrian.rolap.RolapConnection.createDataSource(RolapConnection.java:362)
    at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:134)
    ... 36 more

It is very strange, because I have the jar you mentioned in the lib directory of the saiku webapp, and net/hydromatic/optiq/jdbc/Driver.class is present in the core jar

[cloudera@localhost saiku-server]$ ls tomcat/webapps/saiku/WEB-INF/lib/optiq-*
tomcat/webapps/saiku/WEB-INF/lib/optiq-avatica-0.4.18-SNAPSHOT.jar  tomcat/webapps/saiku/WEB-INF/lib/optiq-mongodb-0.4.18-SNAPSHOT.jar
tomcat/webapps/saiku/WEB-INF/lib/optiq-core-0.4.18-SNAPSHOT.jar
[cloudera@localhost saiku-server]$ jar tf tomcat/webapps/saiku/WEB-INF/lib/optiq-core-0.4.18-SNAPSHOT.jar | grep Driver
net/hydromatic/optiq/jdbc/Driver.class
net/hydromatic/optiq/jdbc/Driver$2.class
net/hydromatic/optiq/jdbc/Driver$1.class
META-INF/services/java.sql.Driver
[cloudera@localhost saiku-server]$

By the way, I have upgraded to optiq 0.4.19 and sqlline seems to have stopped working for mongo at least (note above I was using optiq 0.4.18)

sqlline> !connect jdbc:optiq:model=/home/cloudera/Sistemas/optiq/mongo-zips-model-juanrh.json admin admin
0: jdbc:optiq:model=/home/cloudera/Sistemas/o> select count(*) from zips;
14/02/20 07:50:14 WARN util.Utils: Your hostname, localhost.localdomain resolves to a loopback address: 127.0.0.1; using 192.168.48.128 instead (on interface eth1)
14/02/20 07:50:14 WARN util.Utils: Set SPARK_LOCAL_IP if you need to bind to another address
14/02/20 07:50:14 INFO slf4j.Slf4jLogger: Slf4jLogger started
14/02/20 07:50:14 INFO Remoting: Starting remoting
14/02/20 07:50:15 INFO Remoting: Remoting started; listening on addresses :[akka.tcp://sp...@192.168.48.128:51748]
14/02/20 07:50:15 INFO Remoting: Remoting now listens on addresses: [akka.tcp://sp...@192.168.48.128:51748]
14/02/20 07:50:15 INFO spark.SparkEnv: Registering BlockManagerMaster
14/02/20 07:50:15 INFO storage.DiskBlockManager: Created local directory at /tmp/spark-local-20140220075015-f7e6
14/02/20 07:50:15 INFO storage.MemoryStore: MemoryStore started with capacity 629.4 MB.
14/02/20 07:50:15 INFO network.ConnectionManager: Bound socket to port 34485 with id = ConnectionManagerId(192.168.48.128,34485)
14/02/20 07:50:15 INFO storage.BlockManagerMaster: Trying to register BlockManager
14/02/20 07:50:15 INFO storage.BlockManagerMasterActor$BlockManagerInfo: Registering block manager 192.168.48.128:34485 with 629.4 MB RAM
14/02/20 07:50:15 INFO storage.BlockManagerMaster: Registered BlockManager
14/02/20 07:50:15 INFO spark.HttpServer: Starting HTTP Server
14/02/20 07:50:15 INFO server.Server: jetty-7.6.8.v20121106
14/02/20 07:50:15 INFO server.AbstractConnector: Started SocketC...@0.0.0.0:32861
14/02/20 07:50:15 INFO broadcast.HttpBroadcast: Broadcast server started at http://192.168.48.128:32861
14/02/20 07:50:15 INFO spark.SparkEnv: Registering MapOutputTracker
14/02/20 07:50:15 INFO spark.HttpFileServer: HTTP File server directory is /tmp/spark-04884984-133f-4c0d-8991-14e0caf29461
14/02/20 07:50:15 INFO spark.HttpServer: Starting HTTP Server
14/02/20 07:50:15 INFO server.Server: jetty-7.6.8.v20121106
14/02/20 07:50:15 INFO server.AbstractConnector: Started SocketC...@0.0.0.0:49870
14/02/20 07:50:15 INFO server.Server: jetty-7.6.8.v20121106
14/02/20 07:50:15 INFO handler.ContextHandler: started o.e.j.s.h.ContextHandler{/storage/rdd,null}
14/02/20 07:50:15 INFO handler.ContextHandler: started o.e.j.s.h.ContextHandler{/storage,null}
14/02/20 07:50:15 INFO handler.ContextHandler: started o.e.j.s.h.ContextHandler{/stages/stage,null}
14/02/20 07:50:15 INFO handler.ContextHandler: started o.e.j.s.h.ContextHandler{/stages/pool,null}
14/02/20 07:50:15 INFO handler.ContextHandler: started o.e.j.s.h.ContextHandler{/stages,null}
14/02/20 07:50:15 INFO handler.ContextHandler: started o.e.j.s.h.ContextHandler{/environment,null}
14/02/20 07:50:15 INFO handler.ContextHandler: started o.e.j.s.h.ContextHandler{/executors,null}
14/02/20 07:50:15 INFO handler.ContextHandler: started o.e.j.s.h.ContextHandler{/metrics/json,null}
14/02/20 07:50:15 INFO handler.ContextHandler: started o.e.j.s.h.ContextHandler{/static,null}
14/02/20 07:50:15 INFO handler.ContextHandler: started o.e.j.s.h.ContextHandler{/,null}
14/02/20 07:50:15 INFO server.AbstractConnector: Started SelectChann...@0.0.0.0:4040
14/02/20 07:50:15 INFO ui.SparkUI: Started Spark Web UI at http://192.168.48.128:4040
14/02/20 07:50:15 ERROR conf.Configuration: Failed to set setXIncludeAware(true) for parser org.apache.xerces.jaxp.DocumentBuilderFactoryImpl@153d4c49:java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
    at javax.xml.parsers.DocumentBuilderFactory.setXIncludeAware(DocumentBuilderFactory.java:590)
    at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:1143)
    at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:1119)
    at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:1063)
    at org.apache.hadoop.conf.Configuration.get(Configuration.java:416)
    at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:193)
    at org.apache.hadoop.security.UserGroupInformation.setConfiguration(UserGroupInformation.java:226)
    at org.apache.spark.deploy.SparkHadoopUtil.<init>(SparkHadoopUtil.scala:33)
    at org.apache.spark.deploy.SparkHadoopUtil$.<init>(SparkHadoopUtil.scala:82)
    at org.apache.spark.deploy.SparkHadoopUtil$.<clinit>(SparkHadoopUtil.scala)
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:210)
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:100)
    at org.apache.spark.api.java.JavaSparkContext.<init>(JavaSparkContext.scala:53)
    at net.hydromatic.optiq.impl.spark.SparkHandlerImpl.<init>(SparkHandlerImpl.java:48)
    at net.hydromatic.optiq.impl.spark.SparkHandlerImpl.instance(SparkHandlerImpl.java:79)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at net.hydromatic.optiq.jdbc.OptiqPrepare$Dummy.createHandler(OptiqPrepare.java:124)
    at net.hydromatic.optiq.jdbc.OptiqPrepare$Dummy.getSparkHandler(OptiqPrepare.java:114)
    at net.hydromatic.optiq.jdbc.OptiqConnectionImpl$ContextImpl.spark(OptiqConnectionImpl.java:395)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl.createPlanner(OptiqPrepareImpl.java:192)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl$1.apply(OptiqPrepareImpl.java:140)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl$1.apply(OptiqPrepareImpl.java:138)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepare_(OptiqPrepareImpl.java:234)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepareSql(OptiqPrepareImpl.java:208)
    at net.hydromatic.optiq.jdbc.OptiqConnectionImpl.parseQuery(OptiqConnectionImpl.java:188)
    at net.hydromatic.optiq.jdbc.MetaImpl.prepare(MetaImpl.java:603)
    at net.hydromatic.avatica.AvaticaStatement.execute(AvaticaStatement.java:68)
    at sqlline.Commands.execute(Commands.java:822)
    at sqlline.Commands.sql(Commands.java:732)
    at sqlline.SqlLine.dispatch(SqlLine.java:808)
    at sqlline.SqlLine.begin(SqlLine.java:681)
    at sqlline.SqlLine.start(SqlLine.java:398)
    at sqlline.SqlLine.main(SqlLine.java:292)
14/02/20 07:50:15 ERROR conf.Configuration: Failed to set setXIncludeAware(true) for parser org.apache.xerces.jaxp.DocumentBuilderFactoryImpl@4c3fe94a:java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
    at javax.xml.parsers.DocumentBuilderFactory.setXIncludeAware(DocumentBuilderFactory.java:590)
    at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:1143)
    at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:1119)
    at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:1063)
    at org.apache.hadoop.conf.Configuration.get(Configuration.java:416)
    at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:193)
    at org.apache.hadoop.security.UserGroupInformation.setConfiguration(UserGroupInformation.java:226)
    at org.apache.spark.deploy.SparkHadoopUtil.<init>(SparkHadoopUtil.scala:33)
    at org.apache.spark.deploy.SparkHadoopUtil$.<init>(SparkHadoopUtil.scala:82)
    at org.apache.spark.deploy.SparkHadoopUtil$.<clinit>(SparkHadoopUtil.scala)
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:210)
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:100)
    at org.apache.spark.api.java.JavaSparkContext.<init>(JavaSparkContext.scala:53)
    at net.hydromatic.optiq.impl.spark.SparkHandlerImpl.<init>(SparkHandlerImpl.java:48)
    at net.hydromatic.optiq.impl.spark.SparkHandlerImpl.instance(SparkHandlerImpl.java:79)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at net.hydromatic.optiq.jdbc.OptiqPrepare$Dummy.createHandler(OptiqPrepare.java:124)
    at net.hydromatic.optiq.jdbc.OptiqPrepare$Dummy.getSparkHandler(OptiqPrepare.java:114)
    at net.hydromatic.optiq.jdbc.OptiqConnectionImpl$ContextImpl.spark(OptiqConnectionImpl.java:395)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl.createPlanner(OptiqPrepareImpl.java:192)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl$1.apply(OptiqPrepareImpl.java:140)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl$1.apply(OptiqPrepareImpl.java:138)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepare_(OptiqPrepareImpl.java:234)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepareSql(OptiqPrepareImpl.java:208)
    at net.hydromatic.optiq.jdbc.OptiqConnectionImpl.parseQuery(OptiqConnectionImpl.java:188)
    at net.hydromatic.optiq.jdbc.MetaImpl.prepare(MetaImpl.java:603)
    at net.hydromatic.avatica.AvaticaStatement.execute(AvaticaStatement.java:68)
    at sqlline.Commands.execute(Commands.java:822)
    at sqlline.Commands.sql(Commands.java:732)
    at sqlline.SqlLine.dispatch(SqlLine.java:808)
    at sqlline.SqlLine.begin(SqlLine.java:681)
    at sqlline.SqlLine.start(SqlLine.java:398)
    at sqlline.SqlLine.main(SqlLine.java:292)
14/02/20 07:50:15 ERROR conf.Configuration: Failed to set setXIncludeAware(true) for parser org.apache.xerces.jaxp.DocumentBuilderFactoryImpl@377e4cec:java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
    at javax.xml.parsers.DocumentBuilderFactory.setXIncludeAware(DocumentBuilderFactory.java:590)
    at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:1143)
    at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:1119)
    at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:1063)
    at org.apache.hadoop.conf.Configuration.get(Configuration.java:416)
    at org.apache.hadoop.conf.Configuration.getLong(Configuration.java:521)
    at org.apache.hadoop.security.Groups.<init>(Groups.java:55)
    at org.apache.hadoop.security.Groups.getUserToGroupsMappingService(Groups.java:140)
    at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:205)
    at org.apache.hadoop.security.UserGroupInformation.setConfiguration(UserGroupInformation.java:226)
    at org.apache.spark.deploy.SparkHadoopUtil.<init>(SparkHadoopUtil.scala:33)
    at org.apache.spark.deploy.SparkHadoopUtil$.<init>(SparkHadoopUtil.scala:82)
    at org.apache.spark.deploy.SparkHadoopUtil$.<clinit>(SparkHadoopUtil.scala)
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:210)
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:100)
    at org.apache.spark.api.java.JavaSparkContext.<init>(JavaSparkContext.scala:53)
    at net.hydromatic.optiq.impl.spark.SparkHandlerImpl.<init>(SparkHandlerImpl.java:48)
    at net.hydromatic.optiq.impl.spark.SparkHandlerImpl.instance(SparkHandlerImpl.java:79)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at net.hydromatic.optiq.jdbc.OptiqPrepare$Dummy.createHandler(OptiqPrepare.java:124)
    at net.hydromatic.optiq.jdbc.OptiqPrepare$Dummy.getSparkHandler(OptiqPrepare.java:114)
    at net.hydromatic.optiq.jdbc.OptiqConnectionImpl$ContextImpl.spark(OptiqConnectionImpl.java:395)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl.createPlanner(OptiqPrepareImpl.java:192)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl$1.apply(OptiqPrepareImpl.java:140)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl$1.apply(OptiqPrepareImpl.java:138)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepare_(OptiqPrepareImpl.java:234)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepareSql(OptiqPrepareImpl.java:208)
    at net.hydromatic.optiq.jdbc.OptiqConnectionImpl.parseQuery(OptiqConnectionImpl.java:188)
    at net.hydromatic.optiq.jdbc.MetaImpl.prepare(MetaImpl.java:603)
    at net.hydromatic.avatica.AvaticaStatement.execute(AvaticaStatement.java:68)
    at sqlline.Commands.execute(Commands.java:822)
    at sqlline.Commands.sql(Commands.java:732)
    at sqlline.SqlLine.dispatch(SqlLine.java:808)
    at sqlline.SqlLine.begin(SqlLine.java:681)
    at sqlline.SqlLine.start(SqlLine.java:398)
    at sqlline.SqlLine.main(SqlLine.java:292)
14/02/20 07:50:15 ERROR conf.Configuration: Failed to set setXIncludeAware(true) for parser org.apache.xerces.jaxp.DocumentBuilderFactoryImpl@44ec366a:java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
    at javax.xml.parsers.DocumentBuilderFactory.setXIncludeAware(DocumentBuilderFactory.java:590)
    at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:1143)
    at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:1119)
    at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:1063)
    at org.apache.hadoop.conf.Configuration.get(Configuration.java:416)
    at org.apache.hadoop.conf.Configuration.getLong(Configuration.java:521)
    at org.apache.hadoop.security.Groups.<init>(Groups.java:55)
    at org.apache.hadoop.security.Groups.getUserToGroupsMappingService(Groups.java:140)
    at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:205)
    at org.apache.hadoop.security.UserGroupInformation.setConfiguration(UserGroupInformation.java:226)
    at org.apache.spark.deploy.SparkHadoopUtil.<init>(SparkHadoopUtil.scala:33)
    at org.apache.spark.deploy.SparkHadoopUtil$.<init>(SparkHadoopUtil.scala:82)
    at org.apache.spark.deploy.SparkHadoopUtil$.<clinit>(SparkHadoopUtil.scala)
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:210)
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:100)
    at org.apache.spark.api.java.JavaSparkContext.<init>(JavaSparkContext.scala:53)
    at net.hydromatic.optiq.impl.spark.SparkHandlerImpl.<init>(SparkHandlerImpl.java:48)
    at net.hydromatic.optiq.impl.spark.SparkHandlerImpl.instance(SparkHandlerImpl.java:79)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at net.hydromatic.optiq.jdbc.OptiqPrepare$Dummy.createHandler(OptiqPrepare.java:124)
    at net.hydromatic.optiq.jdbc.OptiqPrepare$Dummy.getSparkHandler(OptiqPrepare.java:114)
    at net.hydromatic.optiq.jdbc.OptiqConnectionImpl$ContextImpl.spark(OptiqConnectionImpl.java:395)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl.createPlanner(OptiqPrepareImpl.java:192)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl$1.apply(OptiqPrepareImpl.java:140)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl$1.apply(OptiqPrepareImpl.java:138)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepare_(OptiqPrepareImpl.java:234)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepareSql(OptiqPrepareImpl.java:208)
    at net.hydromatic.optiq.jdbc.OptiqConnectionImpl.parseQuery(OptiqConnectionImpl.java:188)
    at net.hydromatic.optiq.jdbc.MetaImpl.prepare(MetaImpl.java:603)
    at net.hydromatic.avatica.AvaticaStatement.execute(AvaticaStatement.java:68)
    at sqlline.Commands.execute(Commands.java:822)
    at sqlline.Commands.sql(Commands.java:732)
    at sqlline.SqlLine.dispatch(SqlLine.java:808)
    at sqlline.SqlLine.begin(SqlLine.java:681)
    at sqlline.SqlLine.start(SqlLine.java:398)
    at sqlline.SqlLine.main(SqlLine.java:292)
14/02/20 07:50:15 ERROR conf.Configuration: Failed to set setXIncludeAware(true) for parser org.apache.xerces.jaxp.DocumentBuilderFactoryImpl@6fe88c7f:java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
    at javax.xml.parsers.DocumentBuilderFactory.setXIncludeAware(DocumentBuilderFactory.java:590)
    at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:1143)
    at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:1119)
    at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:1063)
    at org.apache.hadoop.conf.Configuration.get(Configuration.java:416)
    at org.apache.hadoop.conf.Configuration.getLong(Configuration.java:521)
    at org.apache.hadoop.security.Groups.<init>(Groups.java:55)
    at org.apache.hadoop.security.Groups.getUserToGroupsMappingService(Groups.java:140)
    at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:205)
    at org.apache.hadoop.security.UserGroupInformation.setConfiguration(UserGroupInformation.java:226)
    at org.apache.spark.deploy.SparkHadoopUtil.<init>(SparkHadoopUtil.scala:33)
    at org.apache.spark.deploy.SparkHadoopUtil$.<init>(SparkHadoopUtil.scala:82)
    at org.apache.spark.deploy.SparkHadoopUtil$.<clinit>(SparkHadoopUtil.scala)
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:210)
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:100)
    at org.apache.spark.api.java.JavaSparkContext.<init>(JavaSparkContext.scala:53)
    at net.hydromatic.optiq.impl.spark.SparkHandlerImpl.<init>(SparkHandlerImpl.java:48)
    at net.hydromatic.optiq.impl.spark.SparkHandlerImpl.instance(SparkHandlerImpl.java:79)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at net.hydromatic.optiq.jdbc.OptiqPrepare$Dummy.createHandler(OptiqPrepare.java:124)
    at net.hydromatic.optiq.jdbc.OptiqPrepare$Dummy.getSparkHandler(OptiqPrepare.java:114)
    at net.hydromatic.optiq.jdbc.OptiqConnectionImpl$ContextImpl.spark(OptiqConnectionImpl.java:395)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl.createPlanner(OptiqPrepareImpl.java:192)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl$1.apply(OptiqPrepareImpl.java:140)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl$1.apply(OptiqPrepareImpl.java:138)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepare_(OptiqPrepareImpl.java:234)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepareSql(OptiqPrepareImpl.java:208)
    at net.hydromatic.optiq.jdbc.OptiqConnectionImpl.parseQuery(OptiqConnectionImpl.java:188)
    at net.hydromatic.optiq.jdbc.MetaImpl.prepare(MetaImpl.java:603)
    at net.hydromatic.avatica.AvaticaStatement.execute(AvaticaStatement.java:68)
    at sqlline.Commands.execute(Commands.java:822)
    at sqlline.Commands.sql(Commands.java:732)
    at sqlline.SqlLine.dispatch(SqlLine.java:808)
    at sqlline.SqlLine.begin(SqlLine.java:681)
    at sqlline.SqlLine.start(SqlLine.java:398)
    at sqlline.SqlLine.main(SqlLine.java:292)
14/02/20 07:50:15 ERROR conf.Configuration: Failed to set setXIncludeAware(true) for parser org.apache.xerces.jaxp.DocumentBuilderFactoryImpl@c601f3f:java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
    at javax.xml.parsers.DocumentBuilderFactory.setXIncludeAware(DocumentBuilderFactory.java:590)
    at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:1143)
    at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:1119)
    at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:1063)
    at org.apache.hadoop.conf.Configuration.get(Configuration.java:416)
    at org.apache.hadoop.conf.Configuration.getLong(Configuration.java:521)
    at org.apache.hadoop.security.Groups.<init>(Groups.java:55)
    at org.apache.hadoop.security.Groups.getUserToGroupsMappingService(Groups.java:140)
    at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:205)
    at org.apache.hadoop.security.UserGroupInformation.setConfiguration(UserGroupInformation.java:226)
    at org.apache.spark.deploy.SparkHadoopUtil.<init>(SparkHadoopUtil.scala:33)
    at org.apache.spark.deploy.SparkHadoopUtil$.<init>(SparkHadoopUtil.scala:82)
    at org.apache.spark.deploy.SparkHadoopUtil$.<clinit>(SparkHadoopUtil.scala)
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:210)
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:100)
    at org.apache.spark.api.java.JavaSparkContext.<init>(JavaSparkContext.scala:53)
    at net.hydromatic.optiq.impl.spark.SparkHandlerImpl.<init>(SparkHandlerImpl.java:48)
    at net.hydromatic.optiq.impl.spark.SparkHandlerImpl.instance(SparkHandlerImpl.java:79)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at net.hydromatic.optiq.jdbc.OptiqPrepare$Dummy.createHandler(OptiqPrepare.java:124)
    at net.hydromatic.optiq.jdbc.OptiqPrepare$Dummy.getSparkHandler(OptiqPrepare.java:114)
    at net.hydromatic.optiq.jdbc.OptiqConnectionImpl$ContextImpl.spark(OptiqConnectionImpl.java:395)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl.createPlanner(OptiqPrepareImpl.java:192)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl$1.apply(OptiqPrepareImpl.java:140)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl$1.apply(OptiqPrepareImpl.java:138)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepare_(OptiqPrepareImpl.java:234)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepareSql(OptiqPrepareImpl.java:208)
    at net.hydromatic.optiq.jdbc.OptiqConnectionImpl.parseQuery(OptiqConnectionImpl.java:188)
    at net.hydromatic.optiq.jdbc.MetaImpl.prepare(MetaImpl.java:603)
    at net.hydromatic.avatica.AvaticaStatement.execute(AvaticaStatement.java:68)
    at sqlline.Commands.execute(Commands.java:822)
    at sqlline.Commands.sql(Commands.java:732)
    at sqlline.SqlLine.dispatch(SqlLine.java:808)
    at sqlline.SqlLine.begin(SqlLine.java:681)
    at sqlline.SqlLine.start(SqlLine.java:398)
    at sqlline.SqlLine.main(SqlLine.java:292)
14/02/20 07:50:16 ERROR conf.Configuration: Failed to set setXIncludeAware(true) for parser org.apache.xerces.jaxp.DocumentBuilderFactoryImpl@5f0704e1:java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
    at javax.xml.parsers.DocumentBuilderFactory.setXIncludeAware(DocumentBuilderFactory.java:590)
    at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:1143)
    at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:1119)
    at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:1063)
    at org.apache.hadoop.conf.Configuration.set(Configuration.java:439)
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:226)
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:100)
    at org.apache.spark.api.java.JavaSparkContext.<init>(JavaSparkContext.scala:53)
    at net.hydromatic.optiq.impl.spark.SparkHandlerImpl.<init>(SparkHandlerImpl.java:48)
    at net.hydromatic.optiq.impl.spark.SparkHandlerImpl.instance(SparkHandlerImpl.java:79)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at net.hydromatic.optiq.jdbc.OptiqPrepare$Dummy.createHandler(OptiqPrepare.java:124)
    at net.hydromatic.optiq.jdbc.OptiqPrepare$Dummy.getSparkHandler(OptiqPrepare.java:114)
    at net.hydromatic.optiq.jdbc.OptiqConnectionImpl$ContextImpl.spark(OptiqConnectionImpl.java:395)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl.createPlanner(OptiqPrepareImpl.java:192)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl$1.apply(OptiqPrepareImpl.java:140)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl$1.apply(OptiqPrepareImpl.java:138)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepare_(OptiqPrepareImpl.java:234)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepareSql(OptiqPrepareImpl.java:208)
    at net.hydromatic.optiq.jdbc.OptiqConnectionImpl.parseQuery(OptiqConnectionImpl.java:188)
    at net.hydromatic.optiq.jdbc.MetaImpl.prepare(MetaImpl.java:603)
    at net.hydromatic.avatica.AvaticaStatement.execute(AvaticaStatement.java:68)
    at sqlline.Commands.execute(Commands.java:822)
    at sqlline.Commands.sql(Commands.java:732)
    at sqlline.SqlLine.dispatch(SqlLine.java:808)
    at sqlline.SqlLine.begin(SqlLine.java:681)
    at sqlline.SqlLine.start(SqlLine.java:398)
    at sqlline.SqlLine.main(SqlLine.java:292)
14/02/20 07:50:16 ERROR conf.Configuration: Failed to set setXIncludeAware(true) for parser org.apache.xerces.jaxp.DocumentBuilderFactoryImpl@68deeebd:java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
    at javax.xml.parsers.DocumentBuilderFactory.setXIncludeAware(DocumentBuilderFactory.java:590)
    at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:1143)
    at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:1119)
    at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:1063)
    at org.apache.hadoop.conf.Configuration.set(Configuration.java:439)
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:226)
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:100)
    at org.apache.spark.api.java.JavaSparkContext.<init>(JavaSparkContext.scala:53)
    at net.hydromatic.optiq.impl.spark.SparkHandlerImpl.<init>(SparkHandlerImpl.java:48)
    at net.hydromatic.optiq.impl.spark.SparkHandlerImpl.instance(SparkHandlerImpl.java:79)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at net.hydromatic.optiq.jdbc.OptiqPrepare$Dummy.createHandler(OptiqPrepare.java:124)
    at net.hydromatic.optiq.jdbc.OptiqPrepare$Dummy.getSparkHandler(OptiqPrepare.java:114)
    at net.hydromatic.optiq.jdbc.OptiqConnectionImpl$ContextImpl.spark(OptiqConnectionImpl.java:395)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl.createPlanner(OptiqPrepareImpl.java:192)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl$1.apply(OptiqPrepareImpl.java:140)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl$1.apply(OptiqPrepareImpl.java:138)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepare_(OptiqPrepareImpl.java:234)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepareSql(OptiqPrepareImpl.java:208)
    at net.hydromatic.optiq.jdbc.OptiqConnectionImpl.parseQuery(OptiqConnectionImpl.java:188)
    at net.hydromatic.optiq.jdbc.MetaImpl.prepare(MetaImpl.java:603)
    at net.hydromatic.avatica.AvaticaStatement.execute(AvaticaStatement.java:68)
    at sqlline.Commands.execute(Commands.java:822)
    at sqlline.Commands.sql(Commands.java:732)
    at sqlline.SqlLine.dispatch(SqlLine.java:808)
    at sqlline.SqlLine.begin(SqlLine.java:681)
    at sqlline.SqlLine.start(SqlLine.java:398)
    at sqlline.SqlLine.main(SqlLine.java:292)
14/02/20 07:50:16 ERROR conf.Configuration: Failed to set setXIncludeAware(true) for parser org.apache.xerces.jaxp.DocumentBuilderFactoryImpl@40bf015:java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
    at javax.xml.parsers.DocumentBuilderFactory.setXIncludeAware(DocumentBuilderFactory.java:590)
    at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:1143)
    at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:1119)
    at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:1063)
    at org.apache.hadoop.conf.Configuration.set(Configuration.java:439)
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:226)
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:100)
    at org.apache.spark.api.java.JavaSparkContext.<init>(JavaSparkContext.scala:53)
    at net.hydromatic.optiq.impl.spark.SparkHandlerImpl.<init>(SparkHandlerImpl.java:48)
    at net.hydromatic.optiq.impl.spark.SparkHandlerImpl.instance(SparkHandlerImpl.java:79)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at net.hydromatic.optiq.jdbc.OptiqPrepare$Dummy.createHandler(OptiqPrepare.java:124)
    at net.hydromatic.optiq.jdbc.OptiqPrepare$Dummy.getSparkHandler(OptiqPrepare.java:114)
    at net.hydromatic.optiq.jdbc.OptiqConnectionImpl$ContextImpl.spark(OptiqConnectionImpl.java:395)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl.createPlanner(OptiqPrepareImpl.java:192)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl$1.apply(OptiqPrepareImpl.java:140)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl$1.apply(OptiqPrepareImpl.java:138)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepare_(OptiqPrepareImpl.java:234)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepareSql(OptiqPrepareImpl.java:208)
    at net.hydromatic.optiq.jdbc.OptiqConnectionImpl.parseQuery(OptiqConnectionImpl.java:188)
    at net.hydromatic.optiq.jdbc.MetaImpl.prepare(MetaImpl.java:603)
    at net.hydromatic.avatica.AvaticaStatement.execute(AvaticaStatement.java:68)
    at sqlline.Commands.execute(Commands.java:822)
    at sqlline.Commands.sql(Commands.java:732)
    at sqlline.SqlLine.dispatch(SqlLine.java:808)
    at sqlline.SqlLine.begin(SqlLine.java:681)
    at sqlline.SqlLine.start(SqlLine.java:398)
    at sqlline.SqlLine.main(SqlLine.java:292)
14/02/20 07:50:16 ERROR conf.Configuration: Failed to set setXIncludeAware(true) for parser org.apache.xerces.jaxp.DocumentBuilderFactoryImpl@37d7f3f4:java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
    at javax.xml.parsers.DocumentBuilderFactory.setXIncludeAware(DocumentBuilderFactory.java:590)
    at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:1143)
    at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:1119)
    at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:1063)
    at org.apache.hadoop.conf.Configuration.set(Configuration.java:439)
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:226)
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:100)
    at org.apache.spark.api.java.JavaSparkContext.<init>(JavaSparkContext.scala:53)
    at net.hydromatic.optiq.impl.spark.SparkHandlerImpl.<init>(SparkHandlerImpl.java:48)
    at net.hydromatic.optiq.impl.spark.SparkHandlerImpl.instance(SparkHandlerImpl.java:79)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at net.hydromatic.optiq.jdbc.OptiqPrepare$Dummy.createHandler(OptiqPrepare.java:124)
    at net.hydromatic.optiq.jdbc.OptiqPrepare$Dummy.getSparkHandler(OptiqPrepare.java:114)
    at net.hydromatic.optiq.jdbc.OptiqConnectionImpl$ContextImpl.spark(OptiqConnectionImpl.java:395)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl.createPlanner(OptiqPrepareImpl.java:192)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl$1.apply(OptiqPrepareImpl.java:140)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl$1.apply(OptiqPrepareImpl.java:138)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepare_(OptiqPrepareImpl.java:234)
    at net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepareSql(OptiqPrepareImpl.java:208)
    at net.hydromatic.optiq.jdbc.OptiqConnectionImpl.parseQuery(OptiqConnectionImpl.java:188)
    at net.hydromatic.optiq.jdbc.MetaImpl.prepare(MetaImpl.java:603)
    at net.hydromatic.avatica.AvaticaStatement.execute(AvaticaStatement.java:68)
    at sqlline.Commands.execute(Commands.java:822)
    at sqlline.Commands.sql(Commands.java:732)
    at sqlline.SqlLine.dispatch(SqlLine.java:808)
    at sqlline.SqlLine.begin(SqlLine.java:681)
    at sqlline.SqlLine.start(SqlLine.java:398)
    at sqlline.SqlLine.main(SqlLine.java:292)
14/02/20 07:50:16 INFO server.Server: jetty-7.6.8.v20121106
14/02/20 07:50:16 INFO server.AbstractConnector: Started SocketC...@0.0.0.0:45415
Your hostname, localhost.localdomain resolves to a loopback address: 127.0.0.1; using 192.168.48.128 instead (on interface eth1)
Set OPTIQ_LOCAL_IP if you need to bind to another address
Error: while executing SQL: select count(*) from zips (state=,code=0)
0: jdbc:optiq:model=/home/cloudera/Sistemas/o>


Thanks a lot for your help, greetings!

Julian Hyde

unread,
Feb 20, 2014, 1:27:47 PM2/20/14
to opti...@googlegroups.com
On Feb 20, 2014, at 8:33 AM, Juan Rodríguez Hortalá <juan.rodrig...@gmail.com> wrote:
I still get an exception at Saiku initialization

java.lang.NoClassDefFoundError: Could not initialize class net.hydromatic.optiq.jdbc.Driver

Very strange. It looks like you have the right jars on class path. But I don’t see evidence that tomcat is finding them. Can you add ‘-verbose’ to tomcat’s java command line. I would be interested whether it manages to find any net.hydromatic.optiq classes.

By the way, I have upgraded to optiq 0.4.19 and sqlline seems to have stopped working for mongo at least (note above I was using optiq 0.4.18)

sqlline> !connect jdbc:optiq:model=/home/cloudera/Sistemas/optiq/mongo-zips-model-juanrh.json admin admin
0: jdbc:optiq:model=/home/cloudera/Sistemas/o> select count(*) from zips;

14/02/20 07:50:15 ERROR conf.Configuration: Failed to set setXIncludeAware(true) for parser org.apache.xerces.jaxp.DocumentBuilderFactoryImpl@153d4c49:java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"
    at javax.xml.parsers.DocumentBuilderFactory.setXIncludeAware(DocumentBuilderFactory.java:590)
    at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:1143)
    at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:1119)
    at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:1063)
    at org.apache.hadoop.conf.Configuration.get(Configuration.java:416)
    at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:193)
    at org.apache.hadoop.security.UserGroupInformation.setConfiguration(UserGroupInformation.java:226)
    at org.apache.spark.deploy.SparkHadoopUtil.<init>(SparkHadoopUtil.scala:33)
    at org.apache.spark.deploy.SparkHadoopUtil$.<init>(SparkHadoopUtil.scala:82)
    at org.apache.spark.deploy.SparkHadoopUtil$.<clinit>(SparkHadoopUtil.scala)
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:210)
    at org.apache.spark.SparkContext.<init>(SparkContext.scala:100)
    at org.apache.spark.api.java.JavaSparkContext.<init>(JavaSparkContext.scala:53)
    at net.hydromatic.optiq.impl.spark.SparkHandlerImpl.<init>(SparkHandlerImpl.java:48)

It looks like Spark is getting initialized because it is on the class path, and Spark pulls in a different XML parser. Yuck, yuck and yuck. It’s a separate issue from above. Can you log an issue for this please?

This was introduced by https://github.com/julianhyde/optiq/commit/986f940a283de77e74ec1d4805ec063a6c743756 and is not in the 0.4.18 release, just the latest 0.4.19-SNAPSHOT. I recommend that you go back to 0.4.18 until I fix this.

Julian

Paul Stoellberger

unread,
Feb 20, 2014, 8:10:11 PM2/20/14
to opti...@googlegroups.com, opti...@googlegroups.com
I would say simething if i'd see abything strange but frim a saiku point of view it all looks good. if the jars are in web inf/lib it should find it with the jdbcdrivers option

-paul



--

Juan Rodríguez Hortalá

unread,
Feb 24, 2014, 5:17:44 PM2/24/14
to opti...@googlegroups.com
Hi all,

Sorry for the late answer. Julian, I've logged an issue for the problem with version 0.4.19, as you suggested.

Going back to version 0.4.18, I have added  export JAVA_OPTS="-verbose:class" to start-saiku.sh in order to get additional logging for class loading. I have attached the resuling catalina.out. It looks like classes are available, but the JVM is not able to load them correctly


Any idea will be welcome.

Greetings and thanks a lot for your help,

Juan Rodríguez Hortalá
catalina.out

Tom Barber

unread,
Mar 20, 2014, 7:48:16 AM3/20/14
to opti...@googlegroups.com
I have the same problem with a different driver on 0.6-SNAPSHOT.

Looks to me like its getting to

      final Class<?> clazz = Class.forName(factoryClassName);

in UnregisteredDriver.java

but the thread is never returned. Any way my classloader knowledge sucks, so I'm digging but it may be weeks ;)

Tom

Tom Barber

unread,
Mar 20, 2014, 8:05:10 AM3/20/14
to opti...@googlegroups.com
Scratch that, I thought you could put libraries in folders within the classpath and have them picked up. Appears not.

Yogesh Jagtap

unread,
Apr 24, 2014, 12:30:28 AM4/24/14
to opti...@googlegroups.com
Hi Juan,
can you solve this issues I had same problem to connecting saiku and mongo for more information you can follow this link Click here.

Juan Rodríguez Hortalá

unread,
Apr 24, 2014, 2:43:19 PM4/24/14
to opti...@googlegroups.com
Hi Yogesh,

Sadly I've never been able to use optiq-mongo with Saiku. Nevertheless, I haven't tried in a while, and there have been a few releases since my last attempt, so I'll make another attempt and I'll tell you if I can get it to work.

Greetings,

Juan Rodriguez Hortala


--
You received this message because you are subscribed to a topic in the Google Groups "optiq-dev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/optiq-dev/RiPFdBstVag/unsubscribe.
To unsubscribe from this group and all its topics, send an email to optiq-dev+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Yogesh Jagtap

unread,
Apr 25, 2014, 2:51:06 PM4/25/14
to opti...@googlegroups.com
Hi Juan,
I also worked on same thing if I found any solutions I will update it on groups but before me if you found any solutions then please post it on groups
Thanks
Yogesh


On Wednesday, February 19, 2014 10:58:35 PM UTC+5:30, Juan Rodríguez Hortalá wrote:
Reply all
Reply to author
Forward
0 new messages