In diesem Dokument wird beschrieben, wie Sie die Datenabstammung für Ihre Dataproc Serverless for Spark-Batcharbeitslasten entweder auf Projekt- oder Batcharbeitslast-Ebene aktivieren.
Übersicht
Die Datenherkunft ist eine Dataplex-Funktion, mit der Sie verfolgen können, wie sich Daten durch Ihre Systeme bewegen – woher sie kommen, wohin sie übergeben werden und welche Transformationen auf sie angewendet werden.
Bei Dataproc Serverless for Spark-Arbeitslasten werden Herkunftsereignisse erfasst und in der Data Lineage API von Dataplex veröffentlicht. Dataproc Serverless for Spark lässt sich über OpenLineage mit der Data Lineage API verbinden. Dazu wird das OpenLineage Spark-Plug-in verwendet.
Sie können über Dataplex auf Informationen zur Datenherkunft zugreifen, indem Sie Grafiken zur Datenherkunft und die Data Lineage API verwenden. Weitere Informationen finden Sie unter Herkunftsdiagramme in Dataplex ansehen.
Verfügbarkeit, Funktionen und Einschränkungen
Die Datenabfolge, die BigQuery- und Cloud Storage-Datenquellen unterstützt, ist für Arbeitslasten verfügbar, die mit den Dataproc Serverless for Spark-Laufzeitversionen
1.1.50+
, 1.2.29+
und 2.2.29+
ausgeführt werden, mit folgenden Ausnahmen und Einschränkungen:
- Die Datenabfolge ist für SparkR- oder Spark-Streaming-Arbeitslasten nicht verfügbar.
Hinweise
Wählen Sie in der Google Cloud Console auf der Projektauswahlseite das Projekt aus, das Sie für Ihre Dataproc Serverless for Spark-Arbeitslasten verwenden möchten.
Aktivieren Sie die Data Lineage API und die Data Catalog API.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das VM-Dienstkonto des Dataproc-Clusters zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Verwenden der Datenabfolge in Dataproc Serverless für Spark benötigen:
-
Stammbaumvisualisierung im Data Catalog aufrufen oder die Data Lineage API verwenden:
Data Lineage-Betrachter (
roles/datalineage.viewer
) -
Stammbaum manuell mit der API erstellen:
Ersteller von Data Lineage-Ereignissen (
roles/datalineage.producer
) -
Stammbaum mit der API bearbeiten:
Data Lineage-Bearbeiter (
roles/datalineage.editor
) -
Alle Vorgänge für die Datenherkunft ausführen:
Data Lineage-Administrator (
roles/datalineage.admin
)
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Datenabfolge auf Projektebene aktivieren
Sie können die Datenherkunft auf Projektebene aktivieren. Wenn die Funktion auf Projektebene aktiviert ist, ist die Spark-Abstammung für alle nachfolgenden Batch-Arbeitslasten aktiviert, die Sie im Projekt ausführen.
Datenabfolge auf Projektebene aktivieren
Wenn Sie die Datenabfolge auf Projektebene aktivieren möchten, legen Sie die folgenden benutzerdefinierten Projektmetadaten fest.
Schlüssel | Wert |
---|---|
DATAPROC_LINEAGE_ENABLED |
true |
DATAPROC_CLUSTER_SCOPES |
https://www.googleapis.com/auth/cloud-platform |
Sie können die Datenabfolge auf Projektebene deaktivieren, indem Sie die Metadaten DATAPROC_LINEAGE_ENABLED
auf false
festlegen.
Datenabfolge für eine Spark-Batcharbeitslast aktivieren
Sie können die Datenabfolge für eine Batch-Arbeitslast aktivieren, indem Sie die Eigenschaft spark.dataproc.lineage.enabled
beim Einreichen der Arbeitslast auf true
festlegen.
Beispiel für die gcloud-Befehlszeile:
gcloud dataproc batches submit pyspark FILENAME.py --region=REGION \ --properties=spark.dataproc.lineage.enabled=true
Herkunftsdiagramme in Dataplex ansehen
In einem Liniendiagramm werden die Beziehungen zwischen Ihren Projektressourcen und den Prozessen dargestellt, mit denen sie erstellt wurden. Sie können sich Informationen zur Datenabfolge in einer Grafikvisualisierung in der Google Cloud Console ansehen oder die Informationen als JSON-Daten über die Data Lineage API abrufen.
Weitere Informationen finden Sie unter Abstammungsinformationen mit Google Cloud-Systemen verwenden .
Beispiel:
Die folgende Spark-Arbeitslast liest Daten aus einer BigQuery-Tabelle und schreibt die Ausgabe 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 Herkunftsdiagramm in der Dataplex-Benutzeroberfläche: