Datenabfolge mit Dataproc Serverless verwenden

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

  1. 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.

    Zur Projektauswahl

  2. Aktivieren Sie die Data Lineage API und die Data Catalog API.

    APIs aktivieren

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:

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:

Beispiel für ein Stammbaumdiagramm

Nächste Schritte