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.
Conditions requises
Les SDK suivants sont compatibles avec les E/S gérées pour Apache Iceberg :
- SDK Apache Beam pour Java version 2.58.0 ou ultérieure
- SDK Apache Beam pour Python version 2.61.0 ou ultérieure
Configuration
Les E/S gérées pour Apache Iceberg sont compatibles avec les paramètres de configuration suivants :
ICEBERG
Lire
Configuration | Type | Description |
---|---|---|
table |
str
|
Identifiant de la table Iceberg. |
catalog_name |
str
|
Nom du catalogue contenant la table. |
catalog_properties |
map[str, str]
|
Propriétés utilisées pour configurer le catalogue Iceberg. |
config_properties |
map[str, str]
|
Propriétés transmises à la configuration Hadoop. |
drop |
list[str]
|
Sous-ensemble de noms de colonnes à exclure de la lecture. Si la valeur est nulle ou vide, toutes les colonnes seront lues. |
filtrer |
str
|
Prédicat de type SQL permettant de filtrer les données au moment de l'analyse. Exemple : "id > 5 AND status = 'ACTIVE'". Utilise la syntaxe Apache Calcite : https://calcite.apache.org/docs/reference.html |
keep |
list[str]
|
Sous-ensemble de noms de colonnes à lire exclusivement. Si la valeur est nulle ou vide, toutes les colonnes seront lues. |
ICEBERG
Écriture
Configuration | Type | Description |
---|---|---|
table |
str
|
Identifiant de table complet. Vous pouvez également fournir un modèle pour écrire dans plusieurs destinations dynamiques, par exemple : `dataset.my_{col1}_{col2.nested}_table`. |
catalog_name |
str
|
Nom du catalogue contenant la table. |
catalog_properties |
map[str, str]
|
Propriétés utilisées pour configurer le catalogue Iceberg. |
config_properties |
map[str, str]
|
Propriétés transmises à la configuration Hadoop. |
drop |
list[str]
|
Liste des noms de champs à supprimer de l'enregistrement d'entrée avant l'écriture. S'exclut mutuellement avec "keep" et "only". |
keep |
list[str]
|
Liste des noms de champs à conserver dans l'enregistrement d'entrée. Tous les autres champs sont supprimés avant l'écriture. S'exclut mutuellement avec "drop" et "only". |
uniquement |
str
|
Nom d'un champ d'enregistrement unique à écrire. S'exclut mutuellement avec "keep" et "drop". |
partition_fields |
list[str]
|
Champs utilisés pour créer une spécification de partition appliquée lors de la création de tables. Pour un champ "foo", les transformations de partition disponibles sont les suivantes :
Pour en savoir plus sur les transformations de partition, consultez https://iceberg.apache.org/spec/#partition-transforms. |
table_properties |
map[str, str]
|
Propriétés de la table Iceberg à définir sur la table lors de sa création. Pour en savoir plus sur les propriétés des tables, consultez https://iceberg.apache.org/docs/latest/configuration/#table-properties. |
triggering_frequency_seconds |
int32
|
Pour un pipeline de traitement en flux continu, définit la fréquence à laquelle les instantanés sont produits. |
Étapes suivantes
Pour en savoir plus et obtenir des exemples de code, consultez les sujets suivants :