Traçabilité des données avec Dataplex

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Cette page explique comment activer l'intégration de la lignée de données dans Cloud Composer.

À propos de l'intégration de la traçabilité des données

La traçabilité des données est une fonctionnalité Dataplex qui suit la façon dont les données transitent par vos systèmes: leur origine, la cible de transmission et les transformations qui leur sont appliquées.

Cloud Composer utilise le package apache-airflow-providers-openlineage pour générer les événements de lignée envoyés à l'API Data Lineage.

Ce package est déjà installé dans les environnements Cloud Composer. Si vous installez une autre version de ce package, la liste des opérateurs compatibles peut changer. Nous vous recommandons de ne le faire que si nécessaire et de conserver la version préinstallée du package dans le cas contraire.

Lorsque vous créez un environnement, l'intégration de la lignée de données est automatiquement activée si les conditions suivantes sont remplies:

  • L'API Data Lineage est activée dans votre projet. Pour en savoir plus, consultez la section Activer l'API Data Lineage dans la documentation Dataplex.

  • Aucun backend de ligne personnalisé n'est configuré dans Airflow.

Vous pouvez désactiver l'intégration de la lignée de données lorsque vous créez un environnement.

Pour un environnement existant, vous pouvez activer ou désactiver l'intégration de la lignée de données à tout moment.

Fonctionnalités à prendre en compte dans Cloud Composer

Cloud Composer effectue un appel RPC pour créer des événements de lignée dans les cas suivants:

  • Au début ou à la fin d'une tâche Airflow
  • Au début ou à la fin d'une exécution de DAG

Pour en savoir plus sur ces entités, consultez le modèle d'informations sur la traçabilité des données et la documentation de référence de l'API Lineage dans la documentation Dataplex.

Le trafic de la traçabilité émis est soumis à des quotas dans l'API Data Lineage. Cloud Composer consomme le quota d'écriture.

Les tarifs associés à la gestion des données de filiation sont soumis à la tarification de la filiation. Consultez la section Considérations concernant la lignée des données.

Considérations sur les performances dans Cloud Composer

La traçabilité des données est indiquée à la fin de l'exécution de la tâche Airflow. En moyenne, la création de rapports sur la lignée 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 ne échouent pas si la lignée n'est pas correctement signalée à l'API Lineage. La logique de l'opérateur principal n'est pas affectée, mais l'exécution de l'ensemble de l'instance de tâche est un peu plus longue pour tenir compte des données de lignée de rapports.

Un environnement qui génère des rapports sur la lignée des données entraînera une augmentation mineure des coûts associés, en raison du temps supplémentaire nécessaire pour générer ces rapports.

Conformité

La lignée des données propose différents niveaux d'assistance pour des fonctionnalités telles que VPC Service Controls. Consultez les considérations sur la lignée des données pour vous assurer que les niveaux d'assistance correspondent aux exigences de votre environnement.

Avant de commencer

Vérifier si un opérateur est compatible

La prise en charge de la traçabilité des données est assurée par le package du fournisseur où se trouve l'opérateur:

  1. Vérifiez les journaux de modifications du package du fournisseur où se trouve l'opérateur pour les entrées qui ajoutent la prise en charge d'OpenLineage.

    Par exemple, BigQueryToBigQueryOperator est compatible avec OpenLineage à partir de la version 11.0.0 de apache-airflow-providers-google.

  2. Vérifiez la version du package du fournisseur utilisé par votre environnement. Pour ce faire, consultez la liste des packages préinstallés pour la compilation Airflow utilisée dans votre environnement. Vous pouvez également installer une autre version du package dans votre environnement.

De plus, la page Classes compatibles de la documentation apache-airflow-providers-openlineage répertorie les derniers opérateurs compatibles.

Configurer 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:

  1. Activez l'API Data Lineage dans votre projet.
  2. Activez l'intégration de la traçabilité des données dans un environnement Cloud Composer spécifique.

Activer la traçabilité des données dans Cloud Composer

Console

  1. Dans la console Google Cloud, accédez à la page Environnements.

    Accéder à la page Environnements

  2. Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.

  3. Sélectionnez l'onglet Configuration de l'environnement.

  4. Dans la section Intégration de la traçabilité des données Dataplex, cliquez sur Modifier.

  5. 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 composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --enable-cloud-data-lineage-integration

Remplacez les éléments suivants :

  • ENVIRONMENT_NAME : nom de votre environnement
  • LOCATION: région où se trouve l'environnement.

Exemple :

gcloud composer environments update example-environment \
    --location us-central1 \
    --enable-cloud-data-lineage-integration

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 les rapports sur la traçabilité pour votre projet, désactivez également l'API Data Lineage. Consultez la section Désactiver des services.

Console

  1. Dans la console Google Cloud, accédez à la page Environnements.

    Accéder à la page Environnements

  2. Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.

  3. Sélectionnez l'onglet Configuration de l'environnement.

  4. Dans la section Intégration de la traçabilité des données Dataplex, cliquez sur Modifier.

  5. 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 composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --disable-cloud-data-lineage-integration

Remplacez les éléments suivants :

  • ENVIRONMENT_NAME : nom de votre environnement
  • LOCATION: région où se trouve l'environnement.

Exemple :

gcloud composer environments update example-environment \
    --location us-central1 \
    --disable-cloud-data-lineage-integration

Envoyer des événements de traçabilité dans les opérateurs compatibles

Si la traçabilité des données est activée, les opérateurs compatibles envoient automatiquement des événements de traçabilité. Vous n'avez pas besoin de modifier votre code DAG.

Par exemple, en exécutant 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': 'example-project',
                'dataset_id': 'dataset',
                'table_id': 'tableB',
            },
        }
    },
)

Le graphique de traçabilité suivant s'affiche dans l'UI Dataplex:

Exemple de graphique de traçabilité dans l&#39;UI Dataplex.
Figure 1. Exemple de graphique de traçabilité pour une table BigQuery dans l'UI Dataplex.

Envoyer des événements de traçabilité personnalisés

Vous pouvez envoyer des événements de filiation personnalisés si vous souhaitez créer des rapports sur la filiation d'un opérateur qui n'est pas compatible avec les rapports de filiation automatisés.

Par exemple, pour envoyer des événements personnalisés avec:

  • BashOperator: modifiez le paramètre inlets ou outlets dans la définition de la tâche.
  • PythonOperator: modifiez le paramètre task.inlets ou task.outlets dans la définition de la tâche.
  • Vous pouvez utiliser AUTO pour le paramètre inlets. Sa valeur est alors définie sur l'outlets de sa tâche en amont.

L'exemple suivant illustre l'utilisation des entrées et des sorties:

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="example-project",
            dataset_id="dataset",
            table_id="table1",
        )
    ],
    outlets=[
        BigQueryTable(
            project_id="example-project",
            dataset_id="dataset",
            table_id="table2",
        )
    ],
)


def _python_task(task):
    print("Python task")


python_task = PythonOperator(
    task_id="python_task",
    dag=dag,
    python_callable=_python_task,
    inlets=[
        AUTO,
        BigQueryTable(
            project_id="example-project",
            dataset_id="dataset",
            table_id="table3",
        ),
    ],
    outlets=[
        BigQueryTable(
            project_id="example-project",
            dataset_id="dataset",
            table_id="table4",
        )
    ],
)

bash_task >> python_task

Le graphique de la lignée suivant est alors créé dans l'UI Dataplex:

Exemple de graphique de traçabilité pour les événements personnalisés dans l&#39;interface utilisateur de Dataplex
Figure 2. Exemple de graphique de traçabilité pour plusieurs tables BigQuery dans l'UI Dataplex

Afficher les journaux de lignée dans Cloud Composer

Vous pouvez inspecter les journaux liés à la traçabilité des données à l'aide du lien sur 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 lignée ne sont pas envoyées à l'API Lineage ou si vous ne les voyez pas dans Dataplex, suivez la procédure de dépannage ci-dessous:

  • 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 lignée de 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 lignée automatique. Consultez la section Opérateurs Airflow compatibles.
  • Vérifiez les journaux de la lignée dans Cloud Composer pour détecter d'éventuels problèmes.

Étape suivante