Les E/S gérées Dataflow pour BigQuery vous permettent de transformer et d'enrichir les données de vos pipelines de flux et de traitement par lot. Il intègre BigQuery à la fois comme source et comme destination pour les jobs Dataflow, ce qui simplifie les interactions avec l'API BigQuery. Vous pouvez traiter des ensembles de données à grande échelle pour divers cas d'utilisation, de l'analyse en temps réel à l'entreposage de données, en utilisant la création de tables dynamiques et les destinations dans BigQuery.
Avantages des E/S gérées
Les E/S gérées offrent les avantages et les fonctionnalités suivants pour BigQuery :
- Création de tables dynamiques
- Destinations dynamiques
- Pour les lectures, le connecteur utilise l'API BigQuery Storage Read.
Pour les écritures, le connecteur utilise les méthodes BigQuery suivantes :
- Si la source n'est pas limitée et que Dataflow utilise le traitement en flux continu "exactement une fois", le connecteur effectue des écritures dans BigQuery à l'aide de l'API BigQuery Storage Write avec une sémantique de distribution "exactement une fois".
- Si la source n'est pas limitée et que Dataflow utilise le traitement en flux continu "au moins une fois", le connecteur effectue des écritures dans BigQuery à l'aide de l'API BigQuery Storage Write avec la sémantique de distribution "au moins une fois".
- Si la source est limitée, le connecteur utilise les chargements de fichiers BigQuery.
Conditions requises
Les SDK suivants sont compatibles avec les E/S gérées pour BigQuery :
- SDK Apache Beam pour Java version 2.61.0 ou ultérieure
- SDK Apache Beam pour Python version 2.61.0 ou ultérieure
Configuration
Les E/S gérées pour BigQuery sont compatibles avec les paramètres de configuration suivants :
BIGQUERY Lire
| Configuration | Type | Description |
|---|---|---|
| kms_key |
str
|
Utiliser cette clé Cloud KMS pour chiffrer vos données |
| requête |
str
|
Requête SQL à exécuter pour lire les données de la table BigQuery. |
| row_restriction |
str
|
Lignes en lecture seule correspondant à ce filtre, qui doit être compatible avec le langage SQL standard de Google. Cette fonctionnalité n'est pas compatible avec la lecture via une requête. |
| champs |
list[str]
|
Lire uniquement les champs (colonnes) spécifiés d'une table BigQuery. Il est possible que les champs ne soient pas renvoyés dans l'ordre spécifié. Si aucune valeur n'est spécifiée, tous les champs sont renvoyés. Exemple : "col1, col2, col3" |
| table |
str
|
Nom complet de la table BigQuery à lire. Format : [${PROJECT}:]${DATASET}.${TABLE} |
BIGQUERY Écriture
| Configuration | Type | Description |
|---|---|---|
| table |
str
|
Table BigQuery dans laquelle écrire. Format : [${PROJECT}:]${DATASET}.${TABLE} |
| drop |
list[str]
|
Liste des noms de champs à supprimer de l'enregistrement d'entrée avant l'écriture. Incompatible 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. Incompatible avec "drop" et "only". |
| kms_key |
str
|
Utiliser cette clé Cloud KMS pour chiffrer vos données |
| uniquement |
str
|
Nom d'un champ d'enregistrement unique devant être écrit. Incompatible avec "keep" et "drop". |
| triggering_frequency_seconds |
int64
|
Détermine la fréquence à laquelle la progression est "validée" dans BigQuery. La valeur par défaut est de cinq secondes. |
Étapes suivantes
Pour en savoir plus et obtenir des exemples de code, consultez les sujets suivants :