Menggunakan lineage data dengan Dataproc Serverless

Dokumen ini menjelaskan cara mengaktifkan lineage data untuk workload batch Dataproc Serverless untuk Spark di tingkat project atau workload batch.

Ringkasan

Silsilah data adalah fitur Dataplex yang memungkinkan Anda melacak bagaimana data bergerak melalui sistem: dari mana data berasal, tempat data diteruskan, dan transformasi yang diterapkan pada data.

Workload Dataproc Serverless for Spark merekam peristiwa lineage dan memublikasikannya ke Data Lineage API Dataplex. Dataproc Serverless untuk Spark terintegrasi dengan Data Lineage API melalui OpenLineage, menggunakan plugin Spark OpenLineage.

Anda dapat mengakses informasi silsilah melalui Dataplex, menggunakan Grafik visualisasi silsilah dan Data Lineage API. Untuk informasi selengkapnya, lihat Melihat grafik silsilah di Dataplex.

Ketersediaan, kemampuan, dan batasan

Lineage data, yang mendukung sumber data BigQuery dan Cloud Storage, tersedia untuk workload yang dijalankan dengan Dataproc Serverless untuk versi runtime Spark 1.1.50+, 1.2.29+, dan 2.2.29+, dengan pengecualian dan batasan berikut:

  • Lineage data tidak tersedia untuk beban kerja streaming SparkR atau Spark.

Sebelum memulai

  1. Di halaman pemilih project di konsol Google Cloud, pilih project yang akan digunakan untuk beban kerja Dataproc Serverless for Spark.

    Buka pemilih project

  2. Aktifkan Data Lineage API dan Data Catalog API.

    Aktifkan API

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan guna menggunakan silsilah data di Dataproc Serverless untuk Spark, minta administrator untuk memberi Anda peran IAM berikut di akun layanan VM cluster Dataproc:

Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Mengaktifkan silsilah data di tingkat project

Anda dapat mengaktifkan silsilah data di tingkat project. Jika diaktifkan di level project, semua beban kerja batch berikutnya yang Anda jalankan dalam project akan mengaktifkan lineage Spark.

Cara mengaktifkan silsilah data di tingkat project

Untuk mengaktifkan silsilah data di tingkat project, tetapkan metadata project kustom berikut.

Kunci Nilai
DATAPROC_LINEAGE_ENABLED true
DATAPROC_CLUSTER_SCOPES https://www.googleapis.com/auth/cloud-platform

Anda dapat menonaktifkan silsilah data di tingkat project dengan menetapkan metadata DATAPROC_LINEAGE_ENABLED ke false.

Mengaktifkan silsilah data untuk workload batch Spark

Anda dapat mengaktifkan lineage data pada beban kerja batch dengan menetapkan properti spark.dataproc.lineage.enabled ke true saat mengirimkan beban kerja.

Contoh gcloud CLI:

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

Melihat grafik silsilah di Dataplex

Grafik visualisasi silsilah menampilkan hubungan antara resource project dan proses yang membuatnya. Anda dapat melihat informasi silsilah data dalam visualisasi grafik di konsol Google Cloud atau mengambil informasi dari Data Lineage API sebagai data JSON.

Untuk informasi selengkapnya, lihat Menggunakan silsilah data dengan sistem Google Cloud .

Contoh:

Beban kerja Spark berikut membaca data dari tabel BigQuery, lalu menulis output ke tabel BigQuery yang berbeda.

#!/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()

Beban kerja Spark ini membuat grafik silsilah berikut di UI Dataplex:

Contoh grafik silsilah

Langkah selanjutnya