Pour lire les événements de capture des données modifiées (CDC) à partir d'Apache Iceberg à l'aide du catalogue REST Lakehouse pour Apache Iceberg, utilisez le connecteur d'E/S géré Apache Beam.
Les E/S gérées sont compatibles avec les fonctionnalités suivantes pour Apache Iceberg :
| Catalogues |
|
|---|---|
| Fonctionnalités de lecture | Lecture par lots |
| Fonctionnalités d'écriture |
|
Pour les tables BigQuery pour Apache Iceberg,
utilisez le
BigQueryIO connecteur
avec l'API BigQuery Storage. La table doit déjà exister. La création dynamique de tables n'est pas prise en charge.
Limites
- Apache Iceberg CDC n'est compatible qu'avec l'API gérée. Les fonctionnalités du service de transformations gérées ne sont pas encore activées. Attendez-vous à des modifications qui affectent la rétrocompatibilité.
- L'API gérée CDC ne lit que les instantanés en mode ajout uniquement. La CDC complète n'est pas encore disponible.
Prérequis
- Configurez Lakehouse pour Apache Iceberg. Configurez votre Google Cloud projet avec les autorisations requises en suivant la procédure Utiliser le catalogue d'exécution Lakehouse avec le catalogue REST Iceberg. Assurez-vous de bien comprendre les limites du catalogue REST Lakehouse pour Apache Iceberg décrites sur cette page.
- Créez une table Iceberg source. L'exemple présenté ici suppose que vous disposez d'une table Apache Iceberg. Pour en créer une, vous pouvez utiliser le pipeline présenté dans Écriture en flux continu dans Apache Iceberg avec le catalogue REST Lakehouse pour Apache Iceberg.
Dépendances
Ajoutez les dépendances suivantes au projet :
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>
Exemple
L'exemple suivant illustre un pipeline de streaming qui lit les événements CDC à partir d'une table Apache Iceberg, agrège les clics des utilisateurs et écrit les résultats dans une autre table Apache Iceberg.
Java
Pour vous authentifier auprès de Dataflow, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Étape suivante
- En savoir plus sur les E/S gérées.
- En savoir plus sur le catalogue REST Lakehouse pour Apache Iceberg.