如要使用 Lakehouse for Apache Iceberg REST 目錄,從 Apache Iceberg 讀取變更資料擷取 (CDC) 事件,請使用 Apache Beam 受管理 I/O 連接器。
代管 I/O 支援 Apache Iceberg 的下列功能:
| 目錄 |
|
|---|---|
| 讀取功能 | 批次讀取 |
| 寫入功能 |
|
如果是 Apache Iceberg 專用 BigQuery 資料表,請搭配使用 BigQueryIO 連接器和 BigQuery Storage API。資料表必須已存在,不支援動態建立資料表。
限制
- 只有透過 Managed API,才能使用 Apache Iceberg CDC。受管理轉換服務功能尚未啟用。預期會出現影響回溯相容性的變更
- CDC Managed API 只會讀取僅限附加的快照。完整 CDC 尚未推出。
必要條件
- 設定 Lakehouse for Apache Iceberg。按照「使用 Iceberg REST 目錄搭配 Lakehouse 執行階段目錄」一文的說明,為專案設定必要權限。 Google Cloud 請務必瞭解該頁面說明的 Apache Iceberg 專用 Lakehouse Iceberg REST 目錄限制。
- 建立來源 Iceberg 資料表。這個範例假設您有 Apache Iceberg 資料表。如要建立管道,請參閱「使用 Lakehouse for Apache Iceberg 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。
- 進一步瞭解 Lakehouse for Apache Iceberg REST 目錄。