如要使用 BigLake REST 目錄從 Apache Iceberg 讀取變更資料擷取 (CDC) 事件,請使用 Apache Beam 管理的 I/O 連接器。
代管 I/O 支援 Apache Iceberg 的下列功能:
目錄 |
|
---|---|
讀取功能 | 批次讀取 |
寫入功能 |
|
如果是 Apache Iceberg 專用 BigQuery 資料表,請搭配 BigQuery Storage API 使用 BigQueryIO
連接器。資料表必須已存在,不支援動態建立資料表。
限制
- 使用 Managed API 時,系統才會支援 Apache Iceberg CDC。代管轉換服務功能尚未啟用。預期會出現影響回溯相容性的變更
- CDC Managed API 只會讀取僅供附加的快照。完整 CDC 尚未推出。
必要條件
- 設定 BigLake。按照「搭配 Iceberg REST 目錄使用 BigLake Metastore」一文的說明,為 Google Cloud Platform 專案設定必要權限。請務必瞭解該頁面說明的 BigLake Iceberg REST Catalog 限制。
- 建立來源 Iceberg 資料表。這個範例假設您有 Apache Iceberg 資料表。如要建立一個,可以使用「使用 BigLake REST 目錄串流寫入 Apache Iceberg」中顯示的管道。
依附元件
將下列依附元件新增至專案:
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>
<dependency>
<groupId>org.apache.iceberg</groupId>
<artifactId>iceberg-gcp</artifactId>
<version>${iceberg.version}</version>
</dependency>
範例
以下範例說明串流管道如何從 Apache Iceberg 資料表讀取 CDC 事件、彙整使用者點擊次數,並將結果寫入另一個 Apache Iceberg 資料表。
Java
如要向 Dataflow 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
後續步驟
- 進一步瞭解受管理 I/O。
- 進一步瞭解 BigLake REST 目錄。