Pour lire les événements de capture de données modifiées (CDC) à partir d'Apache Iceberg à l'aide du catalogue REST BigLake, 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 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. Le CDC complet n'est pas encore disponible.
Prérequis
- Configurez BigLake. Configurez votre projet Google Cloud Platform avec les autorisations requises en suivant Utiliser BigLake Metastore avec le catalogue REST Iceberg. Assurez-vous de bien comprendre les limites du catalogue REST BigLake 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 un, vous pouvez utiliser le pipeline présenté dans Écriture en flux continu dans Apache Iceberg avec le catalogue REST BigLake.
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 BigLake