如要從 Dataflow 寫入 Apache Iceberg,請使用受管理 I/O 連接器。
代管 I/O 支援 Apache Iceberg 的下列功能:
目錄 |
|
---|---|
讀取功能 | 批次讀取 |
寫入功能 |
|
如果是 Apache Iceberg 專用 BigQuery 資料表,請搭配 BigQuery Storage API 使用 BigQueryIO
連接器。資料表必須已存在,不支援動態建立資料表。
依附元件
將下列依附元件新增至專案:
Java
<dependency>
<groupId>org.apache.beam</groupId>
<artifactId>beam-sdks-java-managed</artifactId>
<version>${beam.version}</version>
</dependency>
<dependency>
<groupId>org.apache.beam</groupId>
<artifactId>beam-sdks-java-io-iceberg</artifactId>
<version>${beam.version}</version>
</dependency>
動態目的地
Apache Iceberg 的代管 I/O 支援動態目的地。連接器可以根據傳入記錄中的欄位值,動態選取目的地資料表,而不是寫入單一固定資料表。
如要使用動態目的地,請為 table
設定參數提供範本。詳情請參閱動態目的地。
範例
下列範例說明如何使用 Managed I/O 寫入 Apache Iceberg。
寫入 Apache Iceberg 資料表
以下範例會將記憶體內 JSON 資料寫入 Apache Iceberg 資料表。
Java
如要向 Dataflow 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
使用動態目的地寫入
以下範例會根據輸入資料中的欄位,寫入不同的 Apache Iceberg 資料表。
Java
如要向 Dataflow 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。