Überblick
Data Lineage ist ein Dataplex-Feature, mit dem Sie verfolgen können, wie sich Daten durch Ihre Systeme bewegen: woher sie kommen, wohin sie übertragen werden und welche Transformationen darauf angewendet werden.
Nachdem Sie Data Lineage aktiviert haben, erfasst Dataproc Serverless for Spark Lineage-Ereignisse und veröffentlicht sie in der Data Lineage API von Dataplex. Dataproc Serverless for Spark wird mithilfe des OpenLineage Spark-Plug-ins über OpenLineage in die Data Lineage API eingebunden.
Sie können über Dataplex mit Lineage-Visualisierungsdiagrammen und der Data Lineage API auf Lineage-Informationen zugreifen. Weitere Informationen finden Sie unter Lineage-Diagramme in Dataplex ansehen.
Verfügbarkeit, Funktionen und Einschränkungen
Die Spark-Datenherkunft, zu der BigQuery- und Cloud Storage-Datenquellen gehören, ist für Arbeitslasten verfügbar, die mit unterstützten Dataproc Serverless for Spark-Laufzeitversionen ausgeführt werden. Es gelten die folgenden Ausnahmen und Einschränkungen:
- Spark Data Lineage ist nicht verfügbar für:
- Arbeitslasten der serverlosen Spark-Laufzeitversion 1.2 von Dataproc
- Spark-Streaming-Arbeitslasten
- BigQuery-Connector Version 2 (Version 2 der Spark Data Source API)
Hinweise
Wählen Sie in der Google Cloud Console auf der Seite für die Projektauswahl das Projekt aus, das für Ihre Dataproc Serverless for Spark-Arbeitslasten verwendet werden soll.
Aktivieren Sie die Data Lineage API und die Data Catalog APIs.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen für das VM-Dienstkonto des Dataproc-Clusters die folgenden IAM-Rollen zu gewähren, um die Berechtigungen zur Verwendung der Data Lineage in Dataproc Serverless for Spark zu erhalten:
-
Rufen Sie die Lineage-Visualisierung in Data Catalog auf oder verwenden Sie die Data Lineage API:
Data Lineage-Betrachter (
roles/datalineage.viewer
) -
Erstellen Sie die Herkunft manuell mit der API:
Ersteller von Data Lineage-Ereignissen (
roles/datalineage.producer
) -
Lineage mit der API bearbeiten: Data Lineage-Editor (
roles/datalineage.editor
) -
Alle Vorgänge für die Herkunft ausführen:
Data Lineage-Administrator (
roles/datalineage.admin
)
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.
Möglicherweise können Sie die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Datenherkunft für eine Spark-Batcharbeitslast aktivieren
Sie können Spark Data Lineage für eine Batcharbeitslast aktivieren, indem Sie das Attribut spark.dataproc.lineage.enabled
beim Senden der Arbeitslast auf true
setzen.
Beispiel für die Google Cloud CLI:
gcloud dataproc batches submit pyspark FILENAME.py --region=REGION \ --version=1.1 \ --properties=spark.dataproc.lineage.enabled=true \ other args ...
Lineage-Diagramme in Dataplex ansehen
In einem Diagramm zur Visualisierung der Herkunft werden die Beziehungen zwischen Ihren Projektressourcen und den Prozessen, die sie erstellt haben, dargestellt. Sie können sich Informationen zur Data Lineage in einer Grafikvisualisierung in der Google Cloud Console ansehen oder die Informationen als JSON-Daten aus der Data Lineage API abrufen.
Weitere Informationen finden Sie unter Data Lineage mit Google Cloud-Systemen verwenden .
Example:
Die folgende Spark-Arbeitslast liest Daten aus einer BigQuery-Tabelle und schreibt die Ausgabe dann in eine andere BigQuery-Tabelle.
#!/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()
Diese Spark-Arbeitslast erstellt das folgende Lineage-Diagramm in der Dataplex-UI: