Wenn Sie CDC-Ereignisse (Change Data Capture) aus Apache Iceberg mit dem BigLake REST Catalog lesen möchten, verwenden Sie den von Apache Beam verwalteten E/A-Connector.
Die 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 der BigQuery Storage API. Die Tabelle muss bereits vorhanden sein. Das dynamische Erstellen von Tabellen wird nicht unterstützt.
Beschränkungen
- Apache Iceberg CDC wird nur über die Managed API unterstützt. Die Funktionen des Dienstes für verwaltete Transformationen sind noch nicht aktiviert. Mit Änderungen rechnen, die sich auf die Abwärtskompatibilität auswirken
- Die CDC Managed API liest nur Snapshots, die nur angehängt werden. Die vollständige CDC ist noch nicht verfügbar.
Vorbereitung
- BigLake einrichten Konfigurieren Sie Ihr Google Cloud-Projekt mit den erforderlichen Berechtigungen. Folgen Sie dazu der Anleitung unter BigLake Metastore mit dem Iceberg REST-Katalog verwenden. Machen Sie sich mit den Einschränkungen des BigLake-Iceberg-REST-Katalogs vertraut, die auf dieser Seite beschrieben werden.
- Iceberg-Quelltabelle erstellen: In diesem Beispiel wird davon ausgegangen, dass Sie eine Apache Iceberg-Tabelle haben. Dazu können Sie die Pipeline verwenden, die unter Streaming Write to Apache Iceberg with BigLake REST Catalog beschrieben wird.
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
Im folgenden Beispiel wird eine Streamingpipeline veranschaulicht, 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.