Présentation
La traçabilité des données est une fonctionnalité Dataplex qui vous permet de suivre la façon dont les données transitent par 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 Dataplex. Dataproc sans serveur pour Spark s'intègre à l'API Data Lineage via OpenLineage, à l'aide du plug-in Spark OpenLineage.
Vous pouvez accéder aux informations de traçabilité via Dataplex à l'aide des graphiques de visualisation de la traçabilité et de l'API Data Lineage. Pour en savoir plus, consultez Afficher les graphiques de traçabilité dans Dataplex.
Disponibilité, fonctionnalités et limites
La traçabilité des données Spark, qui inclut BigQuery et les sources de données Cloud Storage, est disponible pour les charges de travail exécutées avec des versions d'exécution Dataproc sans serveur pour Spark compatibles, avec les exceptions et les limites suivantes:
- La traçabilité des données Spark n'est pas fournie pour :
- Charges de travail de la version 1.2 de l'environnement d'exécution Spark sans serveur Dataproc
- Charges de travail de streaming Spark
- Connecteur BigQuery version 2 (API de source de données Spark version 2)
Avant de commencer
Sur la page du sélecteur de projet de la console Google Cloud, choisissez le projet à utiliser pour vos charges de travail Dataproc sans serveur pour Spark.
Activez l'API Data Lineage et les API Data Catalog.
Rôles requis
Pour obtenir les autorisations nécessaires à l'utilisation de la traçabilité des données dans Dataproc sans serveur pour Spark, demandez à votre administrateur de vous attribuer les rôles IAM suivants sur le compte de service de la VM du cluster Dataproc:
-
Affichez la visualisation de la traçabilité dans Data Catalog ou pour utiliser l'API Data Lineage :
Lecteur de traçabilité des données (
roles/datalineage.viewer
) -
Effectuez la traçabilité manuellement à l'aide de l'API :
Producteur d'événements de traçabilité des données (
roles/datalineage.producer
) -
Modifiez la traçabilité à l'aide de l'API :
Éditeur de la traçabilité des données (
roles/datalineage.editor
) -
Effectuez toutes les opérations sur la traçabilité :
Administrateur de la traçabilité des données (
roles/datalineage.admin
)
Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.
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 traçabilité des 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 les ressources de votre projet et les processus qui les ont créées. Vous pouvez afficher des informations sur la traçabilité des données dans une visualisation graphique de la console Google Cloud, ou récupérer les informations de l'API Data Lineage sous forme de données JSON.
Pour en savoir plus, consultez la page Utiliser la traçabilité des données avec les systèmes Google Cloud .
Exemple :
La charge de travail Spark suivante lit les données d'une table BigQuery, puis écrit le résultat 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'UI Dataplex:
Étapes suivantes
- En savoir plus sur la traçabilité des données