有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

javaapachebeam和BigQuery

我正在尝试执行ApacheBeamSDK2.4和com库。谷歌。云bigquery但是thow异常

Exception in thread main java.lang.NoSuchMethodError com.google.api.client.googleapis.services.json.AbstractGoogleJsonClient$Builder.setBatchPath(LjavalangString;)LcomgoogleapiclientgoogleapisservicesAbstractGoogleClient$Builder;
at com.google.api.services.bigquery.Bigquery$Builder.setBatchPath(Bigquery.java3519)

import com.google.cloud.bigquery.*;

<dependency>
    <groupId>com.google.cloud.dataflow</groupId>
    <artifactId>google-cloud-dataflow-java-sdk-all</artifactId>
    <version>[2.4.0, 2.99)</version>
</dependency>

<!-- slf4j API frontend binding with JUL backend -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <versi

on>1.7.14</version>
    </dependency>

   <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-jdk14</artifactId>
        <version>1.7.14</version>
    </dependency>

    <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-bigquery</artifactId>
        <version>1.35.0</version>
    </dependency>

</dependencies>
the code example apache beam 2.4 using
import com.google.api.services.bigquery.model.TableFieldSchema;
import com.google.api.services.bigquery.model.TableRow;
import com.google.api.services.bigquery.model.TableSchema;

If I use the the libraries om.google.api.services.bigquery. the code example run successfully .

What library is it using internally?

What library should I use? com.google.api.services.bigquery or com.google.cloud.bigquery?


共 (1) 个答案

  1. # 1 楼答案

    梁2.4使用的是com.google.api.services.bigqueryv2-rev374-1.22.0。这也是应与Beam 2.4一起使用的库。com。谷歌。应用程序编程接口。服务。bigquery库已过期,需要升级open issue。不幸的是,Beam中的其他组件依赖于与com不兼容的库。谷歌。云bigquery,并且在使用新库之前需要升级这些库

    如果您还没有这样做,那么应该看看BigQuery IO,它为Beam的常见BigQuery操作提供了一个包装器