Authentication 如何使用BigQueryJDBC驱动程序作为Solr数据源

Authentication 如何使用BigQueryJDBC驱动程序作为Solr数据源,authentication,jdbc,solr,google-bigquery,dataimporthandler,Authentication,Jdbc,Solr,Google Bigquery,Dataimporthandler,我正在使用服务帐户身份验证 我将其设置如下: <dataSource name="bq" type="JdbcDataSource" driver="net.starschema.clouddb.jdbc.BQDriver" url="jdbc:BQDriver:projectid(paper%2D48)?withServiceAccount=true" username="97838659-sfkvh341g

我正在使用服务帐户身份验证

我将其设置如下:

<dataSource
        name="bq"
        type="JdbcDataSource"
        driver="net.starschema.clouddb.jdbc.BQDriver"
        url="jdbc:BQDriver:projectid(paper%2D48)?withServiceAccount=true"
        username="97838659-sfkvh341gqr77cu08aqcrq15mgec5@developer.gserviceaccount.com"
        password="/Users/joe/projects/paper48/etl/Paper48-2504a86bc2ee.p12"
    />

当我尝试运行数据导入时,收到错误:

Caused by: java.lang.NullPointerException
    at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:191)
    at com.google.api.client.googleapis.auth.oauth2.GoogleCredential.<init>(GoogleCredential.java:279)
    at com.google.api.client.googleapis.auth.oauth2.GoogleCredential$Builder.build(GoogleCredential.java:414)
    at net.starschema.clouddb.cmdlineverification.Oauth2Bigquery.authorizeviaservice(Oauth2Bigquery.java:206)
    at net.starschema.clouddb.jdbc.BQConnection.<init>(BQConnection.java:213)
    at net.starschema.clouddb.jdbc.BQDriver.connect(BQDriver.java:157)
    at java.sql.DriverManager.getConnection(DriverManager.java:571)
    at java.sql.DriverManager.getConnection(DriverManager.java:187)
    at org.apache.solr.handler.dataimport.JdbcDataSource$1.call(JdbcDataSource.java:146)
    at org.apache.solr.handler.dataimport.JdbcDataSource$1.call(JdbcDataSource.java:133)
    at org.apache.solr.handler.dataimport.JdbcDataSource.getConnection(JdbcDataSource.java:402)
    at org.apache.solr.handler.dataimport.JdbcDataSource.access$200(JdbcDataSource.java:44)
    at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<init>(JdbcDataSource.java:270)
原因:java.lang.NullPointerException
位于com.google.common.base.premissions.checkNotNull(premissions.java:191)
在com.google.api.client.googleapis.auth.oauth2.GoogleCredential上。(GoogleCredential.java:279)
位于com.google.api.client.googleapis.auth.oauth2.GoogleCredential$Builder.build(GoogleCredential.java:414)
位于net.starschema.clouddb.cmdlineverification.Oauth2Bigquery.authorizeviaservice(Oauth2Bigquery.java:206)
位于net.starschema.clouddb.jdbc.BQConnection.(BQConnection.java:213)
net.starschema.clouddb.jdbc.BQDriver.connect(BQDriver.java:157)
位于java.sql.DriverManager.getConnection(DriverManager.java:571)
位于java.sql.DriverManager.getConnection(DriverManager.java:187)
位于org.apache.solr.handler.dataimport.JdbcDataSource$1.call(JdbcDataSource.java:146)
位于org.apache.solr.handler.dataimport.JdbcDataSource$1.call(JdbcDataSource.java:133)
位于org.apache.solr.handler.dataimport.JdbcDataSource.getConnection(JdbcDataSource.java:402)
位于org.apache.solr.handler.dataimport.JdbcDataSource.access$200(JdbcDataSource.java:44)
位于org.apache.solr.handler.dataimport.JdbcDataSource$resultseterator(JdbcDataSource.java:270)

我知道这些凭证可以工作,因为我正在成功地使用它通过boto配置文件连接到地面军事系统。可能是我需要传递p12文件的“notasecret”密码吗?

我也有同样的问题。任何solution@CarlosAndresGarc是的,我们放弃了这个想法。我们现在使用python将其导出到存储(解压缩csv);然后我们在bucket文件上使用
get\u media
,最后我们只是将csv数据原样发送到solr上的
/update
。很有魅力