使用Simba JDBC驱动程序连接到R中的Google BigQuery

问题描述:

我无法通过Simba JDBC驱动程序连接到我的Google Bigquery数据集。 我想使用RJDBC包从R应用程序连接。我设置的参数如下:使用Simba JDBC驱动程序连接到R中的Google BigQuery

library(RJDBC) 

driver <- JDBC(driverClass = "com.simba.googlebigquery.jdbc42.Driver", classPath = "~/JDBC/GoogleBigQueryJDBC42.jar", identifier.quote = "'") 

conn <- dbConnect(driver,"jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;ProjectId=My_project_Id;OAuthType=1;") 

但是我收到一个错误说:

Error in .jcall([email protected], "Ljava/sql/Connection;", "connect", as.character(url)[1], : 
    java.lang.NoClassDefFoundError: com/google/api/client/json/JsonFactory 

请告诉我什么,我做错了什么?

+0

你有很多未被接受的答案。当你在*上提出问题时,一定要[将答案标记为已接受](http://*.com/help/someone-answers)(并且将它们提升)。否则,人们可能不会有动力回答未来的问题。而忽略答案也不会激励! –

+0

如果它是R,为什么不使用https://github.com/rstats-db/bigrquery? –

我发现这个问题,我应该添加所需的库到Java类路径。所以在R我执行下面的命令:

.jaddClassPath("jackson-core-2.1.3.jar") 
.jaddClassPath("google-oauth-client-1.22.0.jar") 
.jaddClassPath("google-http-client-jackson2-1.22.0.jar") 
.jaddClassPath("google-http-client-1.22.0.jar") 
.jaddClassPath("GoogleBigQueryJDBC41.jar") 
.jaddClassPath("google-api-services-bigquery-v2-rev320-1.22.0.jar") 
.jaddClassPath("google-api-client-1.22.0.jar")