BigLake REST カタログを使用して Apache Iceberg から変更データ キャプチャ(CDC)イベントを読み取るには、Apache Beam マネージド I/O コネクタを使用します。
マネージド I/O は、Apache Iceberg の次の機能をサポートしています。
カタログ |
|
---|---|
読み取り機能 | バッチ読み取り |
書き込み機能 |
|
Apache Iceberg 用の BigQuery テーブルの場合は、BigQuery Storage API で BigQueryIO
コネクタを使用します。このテーブルはすでに存在している必要があります。動的テーブルの作成はサポートされていません。
制限事項
- Apache Iceberg CDC は、マネージド API を使用する場合にのみサポートされます。マネージド変換サービス機能はまだ有効になっていません。下位互換性に影響する変更が予想される
- CDC Managed API は、追加専用スナップショットのみを読み取ります。完全な CDC はまだご利用いただけません。
前提条件
- BigLake を設定します。Iceberg REST カタログで BigLake Metastore を使用するに沿って、必要な権限で 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 の詳細を確認する。