Le connecteur d'E/S géré Apache Beam vous permet d'ingérer des enregistrements de capture de données modifiées (CDC) en flux continu à partir de tables Apache Iceberg via un catalogue REST Lakehouse. Cette intégration traite les mises à jour continues directement dans vos pipelines de traitement en flux continu.
Les E/S gérées ne sont pas compatibles avec les mises à niveau automatiques des pipelines pour Apache Iceberg CDC. De plus, la transformation ne traite que les instantanés en mode Ajout uniquement. Les flux de modifications CDC complets ne sont pas encore acceptés. Pour les lectures ou écritures par lot standards dans d'autres types de catalogues, consultez E/S gérées.
Capacités
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 connecteur BigQueryIO avec l'API BigQuery Storage. La table doit déjà exister. La création de tables dynamiques n'est pas prise en charge.
Limites
- La CDC Apache Iceberg 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 couverture et la profondeur des données de la CDC complète ne sont pas encore disponibles.
Prérequis
- Configurez Lakehouse. Configurez votre projet Google Cloud avec les autorisations requises en suivant Utiliser le catalogue d'environnements d'exécution Lakehouse avec le catalogue REST Iceberg. Assurez-vous de bien comprendre les limites du catalogue REST Iceberg Lakehouse 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 un, vous pouvez utiliser le pipeline présenté dans Écriture de flux de données dans Apache Iceberg avec le catalogue REST Lakehouse.
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.
Étapes suivantes
- En savoir plus sur les E/S gérées
- En savoir plus sur le catalogue REST Lakehouse