Vous devrez peut-être ingérer et transformer des données pour des analyses en aval à grande échelle stockées dans des formats de table ouverts Apache Iceberg. L'ingestion de données Apache Iceberg dans Dataflow à l'aide du connecteur d'E/S géré vous permet d'exécuter des pipelines de traitement par lot distribués et parallèles pour lire et traiter des ensembles de données volumineux dans Hadoop, Hive, les catalogues REST et le metastore BigQuery.
Si vous utilisez des tables BigQuery pour Apache Iceberg, utilisez plutôt le connecteur BigQueryIO avec l'API BigQuery Storage. La table cible doit déjà exister, car la création de tables dynamiques n'est pas possible.
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 possible.
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>
Exemple
L'exemple suivant lit une table Apache Iceberg et écrit les données dans des fichiers texte.
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
- Écrire dans Apache Iceberg.
- Écriture en flux continu dans Apache Iceberg avec le catalogue REST Lakehouse.
- En savoir plus sur les E/S gérées