Wenn Sie CDC-Ereignisse (Change Data Capture) aus Apache Iceberg mit dem Lakehouse for Apache Iceberg REST-Katalog lesen möchten, verwenden Sie den verwalteten E/A-Connector von Apache Beam.
Verwaltete E/A 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, sind zu erwarten.
- Die CDC Managed API liest nur Snapshots, an die Daten angehängt werden. 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-Katalog verwenden. Machen Sie sich mit den Beschränkungen des Lakehouse for Apache Iceberg REST-Katalogs 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-Schreibvorgänge in Apache Iceberg mit dem Lakehouse for Apache Iceberg REST-Katalog 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 verwalteten E/A.
- Weitere Informationen zum Lakehouse for Apache Iceberg REST-Katalog.