Wenn Sie CDC-Ereignisse (Change Data Capture) aus Apache Iceberg mit dem Lakehouse for Apache Iceberg REST Catalog lesen möchten, verwenden Sie den verwalteten E/A-Connector von Apache Beam.
Managed I/O unterstützt die folgenden Funktionen für Apache Iceberg:
| Kataloge |
|
|---|---|
| Lesefunktionen | Batchlesevorgang |
| Schreibfunktionen |
|
Verwenden Sie für BigQuery-Tabellen für Apache Iceberg,
den
BigQueryIO Connector
mit BigQuery Storage API. Die Tabelle muss bereits vorhanden sein. Die dynamische Tabellenerstellung wird nicht unterstützt.
Beschränkungen
- Apache Iceberg CDC wird nur mit der Managed API unterstützt. Die Funktionen des verwalteten Dienstes für Transformationen sind noch nicht aktiviert. Änderungen, die sich auf die Abwärtskompatibilität auswirken
- Die CDC Managed API liest nur Snapshots, die nur angehängt werden können. Vollständige CDC ist noch nicht verfügbar.
Vorbereitung
- Lakehouse for Apache Iceberg einrichten Konfigurieren Sie Ihr Google Cloud Projekt mit den erforderlichen Berechtigungen. Folgen Sie dazu der Anleitung unter Laufzeitkatalog von Lakehouse mit dem Iceberg REST Catalog verwenden. Machen Sie sich mit den Beschränkungen des Lakehouse for Apache Iceberg REST Catalog vertraut, die auf dieser Seite beschrieben sind.
- Iceberg-Quelltabelle erstellen Im hier gezeigten Beispiel wird davon ausgegangen, dass Sie eine Apache Iceberg-Tabelle haben. Wenn Sie eine erstellen möchten, können Sie die Pipeline verwenden, die unter Streaming-Schreibvorgang in Apache Iceberg mit dem Lakehouse for Apache Iceberg REST Catalog beschrieben ist.
Abhängigkeiten
Fügen Sie Ihrem Projekt die folgenden Abhängigkeiten hinzu:
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>
Beispiel
Das folgende Beispiel zeigt eine Streaming-Pipeline, die CDC-Ereignisse aus einer Apache Iceberg-Tabelle liest, Nutzerklicks aggregiert und die Ergebnisse in eine andere Apache Iceberg-Tabelle schreibt.
Java
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Dataflow zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Nächste Schritte
- Weitere Informationen zu Managed I/O
- Weitere Informationen zum Lakehouse for Apache Iceberg REST Catalog.