Cloud Composer 1 | Cloud Composer 2
À propos de l'intégration de la traçabilité des données
La traçabilité des données est une fonctionnalité Dataplex qui vous permet de suivre la manière dont les données circulent dans vos systèmes: d'où elles proviennent, où elles sont transmises et quelles transformations leur sont appliquées. La traçabilité des données est disponible pour:
Environnements Cloud Composer 2 exécutant les versions 2.1.2 et ultérieures avec Airflow 2.2.5 et versions ultérieures.
Environnements Cloud Composer 2 situés dans les mêmes régions que les régions Data Catalog compatibles avec la traçabilité des données.
Une fois la fonctionnalité activée dans votre environnement Cloud Composer, l'exécution de DAG utilisant l'un des opérateurs compatibles amène Cloud Composer à transmettre des informations de traçabilité à l'API Data Lineage.
Vous pouvez ensuite accéder à ces informations en utilisant:
- API Data Lineage
- Graphiques de visualisation de la traçabilité pour les entrées Data Catalog compatibles dans Dataplex Consultez les graphiques de visualisation de la traçabilité dans la documentation Dataplex.
Opérateurs compatibles
Les opérateurs suivants sont compatibles avec la création de rapports de traçabilité automatique dans Cloud Composer:
airflow.providers.google.cloud.operators.bigquery.BigQueryExecuteQueryOperator
airflow.providers.google.cloud.operators.bigquery.BigQueryInsertJobOperator
airflow.providers.google.cloud.transfers.bigquery_to_bigquery.BigQueryToBigQueryOperator
airflow.contrib.operators.bigquery_to_gcs.BigQueryToCloudStorageOperator
airflow.providers.google.cloud.transfers.bigquery_to_gcs.BigQueryToGCSOperator
airflow.providers.google.cloud.transfers.gcs_to_bigquery.GCSToBigQueryOperator
airflow.contrib.operators.gcs_to_bq.GoogleCloudStorageToBigQueryOperator
airflow.providers.google.cloud.operators.dataproc.DataprocSubmitJobOperator
Par exemple, l'exécution de la tâche suivante:
task = BigQueryInsertJobOperator(
task_id='snapshot_task',
dag=dag,
location='<dataset-location>',
configuration={
'query': {
'query': 'SELECT * FROM dataset.tableA',
'useLegacySql': False,
'destinationTable': {
'project_id': GCP_PROJECT,
'dataset_id': 'dataset',
'table_id': 'tableB',
},
}
},
)
Le graphique de traçabilité suivant est créé dans l'interface utilisateur de Dataplex:

Remarques concernant les fonctionnalités de Cloud Composer
Chaque exécution de tâche Airflow qui indique la traçabilité des données effectue les opérations suivantes:
- Une requête de création ou de mise à jour RPC pour un processus de traçabilité
- Une requête de création ou de mise à jour RPC pour une exécution de traçabilité
- Une ou plusieurs requêtes RPC pour créer des événements de traçabilité (la plupart du temps, 0 ou 1)
Pour en savoir plus sur ces entités, consultez le modèle d'informations de traçabilité et la documentation de référence de l'API Lineage dans la documentation Dataplex.
Les tarifs associés au traitement des données de traçabilité sont soumis aux tarifs de traçabilité. Consultez les considérations sur la traçabilité des données.
Implications en termes de performance
La traçabilité des données est signalée à la fin de l'exécution de la tâche Airflow. En moyenne, la création de rapports sur la traçabilité des données prend environ une à deux secondes.
Cela n'affecte pas les performances de la tâche elle-même: les tâches Airflow n'échouent pas si la traçabilité n'est pas signalée à l'API Lineage. Cela n'a aucun impact sur la logique de l'opérateur principal, mais l'instance de tâche entière s'exécute un peu plus longtemps pour tenir compte des données de traçabilité des rapports.
Un environnement qui signale la traçabilité des données connaîtra une légère augmentation des coûts associés, en raison du temps supplémentaire nécessaire pour générer des rapports sur la traçabilité des données.
Conformité
La traçabilité des données offre différents niveaux de compatibilité pour des fonctionnalités telles que VPC Service Controls ou les CMEK. Veuillez consulter les considérations relatives à la traçabilité des données pour vous assurer que les niveaux d'assistance correspondent aux exigences de votre environnement.
Utiliser l'intégration de la traçabilité des données
L'intégration de la traçabilité des données pour Cloud Composer est gérée par environnement. Pour activer cette fonctionnalité, vous devez suivre deux étapes:
- Activez l'API Data Lineage dans votre projet.
- Activer l'intégration de la traçabilité des données dans un environnement Cloud Composer spécifique
Avant de commencer
Activez l'API Data Lineage. Consultez la section Activer la traçabilité automatisée dans la documentation Dataplex.
Rôles requis
L'intégration à la traçabilité des données nécessite l'ajout des autorisations suivantes au compte de service de l'environnement Cloud Composer:
- Pour les comptes de service par défaut: aucune modification n'est nécessaire. Les comptes de service par défaut incluent les autorisations requises.
- Pour les comptes de service gérés par l'utilisateur: attribuez le rôle Nœud de calcul Composer (
roles/composer.worker
) à votre compte de service. Ce rôle inclut toutes les autorisations requises pour la traçabilité des données.
Pour en savoir plus, consultez la section Rôles et autorisations de traçabilité dans la documentation Dataplex.
Activer la traçabilité des données dans Cloud Composer
Console
Dans la console Google Cloud, accédez à la page Environnements.
Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.
Sélectionnez l'onglet Configuration de l'environnement.
Dans la section Intégration de la traçabilité des données Dataplex, cliquez sur Modifier.
Dans le panneau Intégration de la traçabilité des données Dataplex, sélectionnez Activer l'intégration avec la traçabilité des données Dataplex, puis cliquez sur Enregistrer.
gcloud
Utilisez l'argument --enable-cloud-data-lineage-integration
.
gcloud beta composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--enable-cloud-data-lineage-integration
Remplacez :
ENVIRONMENT_NAME
par le nom de l'environnement.Le nom doit commencer par une lettre minuscule suivie d'un maximum de 62 caractères (lettres minuscules, chiffres ou traits d'union) et ne peut pas se terminer par un trait d'union. Le nom de l'environnement est utilisé pour créer des sous-composants pour l'environnement. Vous devez donc indiquer un nom également valide pour les buckets Cloud Storage. Pour obtenir une liste des restrictions, consultez la page Consignes de dénomination des buckets.
LOCATION
par la région de l'environnement.Un emplacement est la région dans laquelle se trouve le cluster GKE de l'environnement.
Exemple :
gcloud beta composer environments update example-environment \
--location us-central1 \
--enable-cloud-data-lineage-integration
Envoyer des événements de traçabilité personnalisés
Vous pouvez envoyer des événements de traçabilité personnalisés si vous souhaitez signaler la traçabilité d'un opérateur qui n'est pas compatible avec les rapports de traçabilité automatiques.
Par exemple, pour envoyer des événements personnalisés avec:
BashOperator
, modifiez le paramètreinlets
ououtlets
dans la définition de la tâche.PythonOperator
, modifiez le paramètretask.inlets
outask.outlets
dans la définition de la tâche. L'utilisation deAUTO
pour le paramètreinlets
définit sa valeur sur l'outlets
de sa tâche en amont.
Par exemple, l'exécution de cette tâche:
from airflow.composer.data_lineage.entities import BigQueryTable
from airflow.lineage import AUTO
…
bash_task = BashOperator(
task_id='bash_task',
dag=dag,
bash_command='sleep 0',
inlets=[BigQueryTable(
project_id=GCP_PROJECT,
dataset_id='dataset',
table_id='table1',
)],
outlets=[BigQueryTable(
project_id=GCP_PROJECT,
dataset_id='dataset',
table_id='table2',
)]
)
def _python_task(task):
task.inlets.append(BigQueryTable(
project_id=GCP_PROJECT,
dataset_id='dataset',
table_id='table3',
))
task.outlets.append(BigQueryTable(
project_id=GCP_PROJECT,
dataset_id='dataset',
table_id='table4',
))
python_task = PythonOperator(
task_id='python_task',
dag=dag,
python_callable=_python_task,
inlets=[AUTO],
)
bash_task >> python_task
Le graphique de traçabilité suivant est créé dans l'interface utilisateur de Dataplex:

Désactiver la traçabilité des données dans Cloud Composer
La désactivation de l'intégration de la traçabilité dans un environnement Cloud Composer ne désactive pas l'API Data Lineage. Si vous souhaitez désactiver complètement la création de rapports sur la traçabilité pour votre projet, désactivez également l'API Data Lineage. Consultez la section Désactiver des services.
Console
Dans la console Google Cloud, accédez à la page Environnements.
Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.
Sélectionnez l'onglet Configuration de l'environnement.
Dans la section Intégration de la traçabilité des données Dataplex, cliquez sur Modifier.
Dans le panneau Intégration de la traçabilité des données Dataplex, sélectionnez Désactiver l'intégration avec la traçabilité des données Dataplex, puis cliquez sur Enregistrer.
gcloud
Utilisez l'argument --disable-cloud-data-lineage-integration
.
gcloud beta composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--disable-cloud-data-lineage-integration
Remplacez :
ENVIRONMENT_NAME
par le nom de l'environnement.Le nom doit commencer par une lettre minuscule suivie d'un maximum de 62 caractères (lettres minuscules, chiffres ou traits d'union) et ne peut pas se terminer par un trait d'union. Le nom de l'environnement est utilisé pour créer des sous-composants pour l'environnement. Vous devez donc indiquer un nom également valide pour les buckets Cloud Storage. Pour obtenir une liste des restrictions, consultez la page Consignes de dénomination des buckets.
LOCATION
par la région de l'environnement.Un emplacement est la région dans laquelle se trouve le cluster GKE de l'environnement.
Exemple :
gcloud beta composer environments update example-environment \
--location us-central1 \
--disable-cloud-data-lineage-integration
Afficher les journaux de traçabilité dans Cloud Composer
Vous pouvez inspecter les journaux liés à la traçabilité des données à l'aide du lien de la page Configuration de l'environnement, dans la section Intégration de la traçabilité des données Dataplex.
Dépannage
Si les données de traçabilité ne sont pas signalées à l'API Lineage ou que vous ne pouvez pas les voir dans Dataplex, essayez les étapes de dépannage suivantes:
- Assurez-vous que l'API Data Lineage est activée dans le projet de votre environnement Cloud Composer.
- Vérifiez si l'intégration de la traçabilité des données est activée dans l'environnement Cloud Composer.
- Vérifiez si l'opérateur que vous utilisez est inclus dans la prise en charge des rapports de traçabilité automatisés. Consultez la page Opérateurs Airflow compatibles.
- Consultez les journaux de traçabilité dans Cloud Composer pour identifier d'éventuels problèmes.