Traçabilité des données Spark

Présentation

La traçabilité des données est une fonctionnalité Dataplex qui permet de suivre comment les données transitent dans vos systèmes: d'où elles proviennent, où elles sont transmises, et les transformations qui leur sont appliquées.

Une fois que vous avez activé la traçabilité des données, les charges de travail Dataproc sans serveur pour Spark capturent les événements de traçabilité et les publient dans l'API Data Lineage de Dataplex. Dataproc sans serveur pour Spark s'intègre à l'API Data Lineage via OpenLineage, à l'aide du plug-in OpenLineage Spark.

Vous pouvez accéder aux informations de traçabilité via Dataplex à l'aide de Graphiques de visualisation de la traçabilité et l'API Data Lineage. Pour en savoir plus, consultez Afficher des graphiques de traçabilité dans Dataplex.

Disponibilité, fonctionnalités et limites

Traçabilité des données Spark, y compris BigQuery et Cloud Storage sources de données, est disponible pour les charges de travail exécutées avec Versions d'exécution de Dataproc sans serveur pour Spark compatibles avec les exceptions et limites suivantes:

  • La traçabilité des données Spark n'est pas fournie pour :
    • Charges de travail de la version d'exécution Spark Dataproc sans serveur 1.2
    • Charges de travail de streaming Spark
    • Connecteur BigQuery version 2 (API de source de données Spark version 2)

Avant de commencer

  1. Sur la page de sélection du projet dans la console Google Cloud, sélectionnez le projet à utiliser pour vos charges de travail Dataproc sans serveur pour Spark.

    Accéder au sélecteur de projet

  2. Activez les API Data Lineage et Data Catalog.

    Activer les API

Rôles requis

Pour obtenir les autorisations nécessaires pour utiliser la lignée de données dans Dataproc sans serveur pour Spark, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le compte de service de la VM du cluster Dataproc :

Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

Activer la traçabilité des données pour une charge de travail par lot Spark

Vous pouvez activer la lignée de données Spark pour une charge de travail par lot en définissant la propriété spark.dataproc.lineage.enabled sur true lorsque vous envoyez la charge de travail.

Exemple de Google Cloud CLI :

gcloud dataproc batches submit pyspark FILENAME.py
    --region=REGION \
    --version=1.1 \
    --properties=spark.dataproc.lineage.enabled=true \
    other args ...

Afficher les graphiques de traçabilité dans Dataplex

Un graphique de visualisation de la traçabilité affiche les relations entre votre projet les ressources et les processus qui les ont créés. Vous pouvez afficher la traçabilité des données les informations d'une visualisation graphique dans la console Google Cloud de récupérer les informations API Data Lineage sous forme de données JSON.

Pour en savoir plus, consultez la page Utiliser la lignée des données avec les systèmes Google Cloud.

Exemple :

La charge de travail Spark suivante lit les données d'BigQuery table, puis écrit la sortie dans une autre table BigQuery.

#!/usr/bin/env python

from pyspark.sql import SparkSession
import sys

spark = SparkSession \
  .builder \
  .appName('LINEAGE_BQ_TO_BQ') \
  .getOrCreate()

bucket = lineage-ol-test
spark.conf.set('temporaryGcsBucket', bucket)

source = sample.source
words = spark.read.format('bigquery') \
  .option('table', source) \
  .load()
words.createOrReplaceTempView('words')

word_count = spark.sql('SELECT word, SUM(word_count) AS word_count FROM words GROUP BY word')

destination = sample.destination
word_count.write.format('bigquery') \
  .option('table', destination) \
  .save()

Cette charge de travail Spark crée le graphique de traçabilité suivant dans l'interface utilisateur de Dataplex :

Exemple de graphique de traçabilité

Étape suivante