Google Big Query Connector node not working

Hi everyone.
First of all thanks to the great Knime Online Conference! It was a lot of fun and I learned a lot!!!
BUT… :slight_smile:
I have a problem with the Google Big Query Connector node. I followed the tutorial here to get the node to work but I could not. Authentication with Google is fine but the connector fails with the following message:

ERROR Google BigQuery Connector 0:1498 Execute failed: com/google/api/client/json/CustomizeJsonParser

I made a new project, I created a new p12 but it fails all the time. I have no idea…!

Below is the knime.log entry for the error Has anybody experienced the same error message and provide a solution or an idea where to look at?

Many thanks in advance! <3
Best, Andy

2020-04-03 21:36:02,562 : ERROR : KNIME-Worker-34-Google BigQuery Connector 0:1498 : : Node : Google BigQuery Connector : 0:1498 : Execute failed: com/google/api/client/json/CustomizeJsonParser java.sql.SQLException: com/google/api/client/json/CustomizeJsonParser at org.knime.database.util.Futures.throwDatabaseExecutionException(Futures.java:112) at org.knime.database.connection.impl.DBConnectionManager.initializeConnection(DBConnectionManager.java:473) at org.knime.database.connection.impl.DBConnectionManager.<init>(DBConnectionManager.java:254) at org.knime.database.session.impl.DefaultDBSession.<init>(DefaultDBSession.java:212) at org.knime.database.session.impl.DBSessionFactory.create(DBSessionFactory.java:81) at org.knime.database.session.DBSessionCache.getOrCreate(DBSessionCache.java:151) at org.knime.database.node.connector.AbstractDBConnectorNodeModel.registerSession(AbstractDBConnectorNodeModel.java:388) at org.knime.database.node.connector.AbstractDBConnectorNodeModel.execute(AbstractDBConnectorNodeModel.java:219) at org.knime.core.node.NodeModel.executeModel(NodeModel.java:571) at org.knime.core.node.Node.invokeFullyNodeModelExecute(Node.java:1236) at org.knime.core.node.Node.execute(Node.java:1016) at org.knime.core.node.workflow.NativeNodeContainer.performExecuteNode(NativeNodeContainer.java:557) at org.knime.core.node.exec.LocalNodeExecutionJob.mainExecute(LocalNodeExecutionJob.java:95) at org.knime.core.node.workflow.NodeExecutionJob.internalRun(NodeExecutionJob.java:218) at org.knime.core.node.workflow.NodeExecutionJob.run(NodeExecutionJob.java:124) at org.knime.core.util.ThreadUtils$RunnableWithContextImpl.runWithContext(ThreadUtils.java:334) at org.knime.core.util.ThreadUtils$RunnableWithContext.run(ThreadUtils.java:210) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at org.knime.core.util.ThreadPool$MyFuture.run(ThreadPool.java:123) at org.knime.core.util.ThreadPool$Worker.run(ThreadPool.java:246) Caused by: java.lang.NoClassDefFoundError: com/google/api/client/json/CustomizeJsonParser at com.simba.googlebigquery.googlebigquery.core.BQConnection.connect(Unknown Source) at com.simba.googlebigquery.jdbc.common.BaseConnectionFactory.doConnect(Unknown Source) at com.simba.googlebigquery.jdbc.common.AbstractDriver.connect(Unknown Source) at org.knime.database.connection.UrlDBConnectionController$ControlledDriver.connect(UrlDBConnectionController.java:95) at org.knime.database.connection.UrlDBConnectionController.createConnection(UrlDBConnectionController.java:308) at org.knime.database.connection.AbstractConnectionProvider.createConnection(AbstractConnectionProvider.java:89) at org.knime.database.connection.impl.DBConnectionManager.lambda$2(DBConnectionManager.java:458) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.ClassNotFoundException: com.google.api.client.json.CustomizeJsonParser at java.net.URLClassLoader.findClass(URLClassLoader.java:382) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 11 more

2 Likes

Hi there @aherzberg,

welcome to KNIME Community!

Just to check when you say you followed tutorial did you mean step by step guide from database documentation?

https://docs.knime.com/2019-12/db_extension_guide/index.html#connecting_examples

After Oracle and Databricks you’ll find Google BigQuery.

Br,
Ivan

Thanks @ipazin. I will have a look at it. I was working with that tutorial: https://www.knime.com/blog/tutorial-importing-data-from-google-bigquery.
Best, Andy

Now I tried the URL mentioned in the KNIME Database document and get a similar message: https://www.googleapis.com/biquery/v2/
I checked the rest of the documentation and the rest was like I did it.

Now the error is this in the console:
ERROR Google BigQuery Connector 0:1498 Execute failed: com/google/api/client/googleapis/json/GoogleJsonResponseException

and in the logs it looks like this:

2020-04-03 22:45:47,855 : ERROR : KNIME-Worker-15-Google BigQuery Connector 0:1498 : : Node : Google BigQuery Connector : 0:1498 : Execute failed: com/google/api/client/googleapis/json/GoogleJsonResponseException java.sql.SQLException: com/google/api/client/googleapis/json/GoogleJsonResponseException at org.knime.database.util.Futures.throwDatabaseExecutionException(Futures.java:112) at org.knime.database.connection.impl.DBConnectionManager.initializeConnection(DBConnectionManager.java:473) at org.knime.database.connection.impl.DBConnectionManager.<init>(DBConnectionManager.java:254) at org.knime.database.session.impl.DefaultDBSession.<init>(DefaultDBSession.java:212) at org.knime.database.session.impl.DBSessionFactory.create(DBSessionFactory.java:81) at org.knime.database.session.DBSessionCache.getOrCreate(DBSessionCache.java:151) at org.knime.database.node.connector.AbstractDBConnectorNodeModel.registerSession(AbstractDBConnectorNodeModel.java:388) at org.knime.database.node.connector.AbstractDBConnectorNodeModel.execute(AbstractDBConnectorNodeModel.java:219) at org.knime.core.node.NodeModel.executeModel(NodeModel.java:571) at org.knime.core.node.Node.invokeFullyNodeModelExecute(Node.java:1236) at org.knime.core.node.Node.execute(Node.java:1016) at org.knime.core.node.workflow.NativeNodeContainer.performExecuteNode(NativeNodeContainer.java:557) at org.knime.core.node.exec.LocalNodeExecutionJob.mainExecute(LocalNodeExecutionJob.java:95) at org.knime.core.node.workflow.NodeExecutionJob.internalRun(NodeExecutionJob.java:218) at org.knime.core.node.workflow.NodeExecutionJob.run(NodeExecutionJob.java:124) at org.knime.core.util.ThreadUtils$RunnableWithContextImpl.runWithContext(ThreadUtils.java:334) at org.knime.core.util.ThreadUtils$RunnableWithContext.run(ThreadUtils.java:210) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at org.knime.core.util.ThreadPool$MyFuture.run(ThreadPool.java:123) at org.knime.core.util.ThreadPool$Worker.run(ThreadPool.java:246) Caused by: java.lang.NoClassDefFoundError: com/google/api/client/googleapis/json/GoogleJsonResponseException at com.simba.googlebigquery.googlebigquery.core.BQConnection.connect(Unknown Source) at com.simba.googlebigquery.jdbc.common.BaseConnectionFactory.doConnect(Unknown Source) at com.simba.googlebigquery.jdbc.common.AbstractDriver.connect(Unknown Source) at org.knime.database.connection.UrlDBConnectionController$ControlledDriver.connect(UrlDBConnectionController.java:95) at org.knime.database.connection.UrlDBConnectionController.createConnection(UrlDBConnectionController.java:308) at org.knime.database.connection.AbstractConnectionProvider.createConnection(AbstractConnectionProvider.java:89) at org.knime.database.connection.impl.DBConnectionManager.lambda$2(DBConnectionManager.java:458) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.ClassNotFoundException: com.google.api.client.googleapis.json.GoogleJsonResponseException at java.net.URLClassLoader.findClass(URLClassLoader.java:382) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 11 more
Do you understand what this means?

Thanks a ton!

Hi @aherzberg,

ok. That is a new one (tutorial). Was afraid you found something old.

To be honest not really but from experience the first suspect is the driver - can you give the screenshot of it? I mean configuration in KNIME?

Br,
Ivan

Hey @ipazin,

This is the config in the databases settings

and this is the setting of the Google authenticator node
image

and this is the coinnector

Thanks a lot again!

Hi @aherzberg,

only thing I can spot compared to tutorial and documentation is different path to the driver (I mean the last part of course :smiley: ) You have only one .jar file while they have added whole unzipped directory (which contains a bit more .jar files). Anyways not sure it will help but you can give it a go. If it won’t work I will check it a bit more.

Br,
Ivan

4 Likes

Oh dear,
you were right. It worked by adding the whole unzipped directory in the database KNIME preferences in the settings and not just the jar-file.
@ipazin: You made my day finally :smiley: . Thanks a lot!!! Have a nice eve!

2 Likes

Glad to hear that! :slight_smile:
Br,
Ivan

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.