如需使用 BigLake REST Catalog 从 Apache Iceberg 读取变更数据捕获 (CDC) 事件,请使用 Apache Beam 托管式 I/O 连接器。
托管式 I/O 支持 Apache Iceberg 的以下功能:
目录 |
|
---|---|
读取功能 | 批处理读取 |
写入功能 |
|
对于 Apache Iceberg 的 BigQuery 表,请将 BigQueryIO
连接器与 BigQuery Storage API 搭配使用。该表必须已经存在;不支持动态表格创建。
限制
- 仅支持使用受管 API 的 Apache Iceberg CDC。受管理的转换服务功能尚未启用。预计会发生影响向后兼容性的更改
- CDC Managed API 仅读取仅附加快照。完整 CDC 尚未推出。
前提条件
- 设置 BigLake。按照将 BigLake Metastore 与 Iceberg REST 目录搭配使用中的说明,为您的 Google Cloud Platform 项目配置所需的权限。 请务必了解该页面上介绍的 BigLake Iceberg REST 目录的限制。
- 创建源 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 Catalog。