簡體   English   中英

Apache Beam和BigQuery

[英]Apache beam and BigQuery

我正在嘗試執行Apache Beam sdk 2.4和庫com.google.cloud.bigquery但出現異常

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;

如果使用庫om.google.api.services.bigquery。 該代碼示例成功運行。

它在內部使用什么庫?

我應該使用哪個庫? com.google.api.services.bigquery還是com.google.cloud.bigquery?

Beam 2.4使用的是com.google.api.services.bigquery v2-rev374-1.22.0。 這也是應與Beam 2.4一起使用的庫。 該com.google.api.services.bigquery庫是過時,有一個懸而未決的問題進行升級。 不幸的是,Beam中的其他組件取決於與com.google.cloud.bigquery不兼容的庫,在使用新庫之前需要對其進行升級。

如果您尚未這樣做,則應該看看BigQuery IO ,它為Beam的常見BigQuery操作提供了包裝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM