概览
数据沿袭是 Dataplex 的一项功能,可让您跟踪数据在系统中的移动方式:数据的来源、传入的位置以及应用于数据的转换。
启用数据沿袭后,Dataproc Serverless for Spark 工作负载会捕获沿袭事件,并将其发布到 Dataplex Data Lineage API。Dataproc Serverless for Spark 使用 OpenLineage Spark 插件,通过 OpenLineage 与 Data Lineage API 集成。
您可以通过 Dataplex 使用沿袭可视化图和 Data Lineage API 访问沿袭信息。如需了解详情,请参阅在 Dataplex 中查看沿袭图。
可用性、功能和限制
数据沿袭适用于 Dataproc Serverless for Spark 1.x
运行时,从运行时版本 1.1.50
开始。它包括沿袭 BigQuery 和 Cloud Storage 数据源。
以下资源不提供沿袭支持:
- BigQuery 连接器版本 2(Spark 数据源 API 版本 2)
- Spark 流式工作负载
准备工作
在 Google Cloud 控制台的项目选择器页面上,选择要用于 Dataproc Serverless for Spark 工作负载的项目。
启用 Data Lineage API 和 Data Catalog API。
所需的角色
如需获取在 Dataproc Serverless for Spark 中使用数据沿袭所需的权限,请让管理员授予您 Dataproc 集群虚拟机服务帐号的以下 IAM 角色:
-
在 Data Catalog 中查看沿袭可视化或使用 Data Lineage API:Data Lineage Viewer (
roles/datalineage.viewer
) -
使用以下 API 手动生成沿袭:
数据沿袭事件提供方 (
roles/datalineage.producer
) -
使用 API 修改沿袭:
数据沿袭编辑器 (
roles/datalineage.editor
) -
对沿袭执行所有操作:
数据沿袭管理员 (
roles/datalineage.admin
)
如需详细了解如何授予角色,请参阅管理访问权限。
为 Spark 批量工作负载启用数据沿袭
如需为批量工作负载启用 Spark 数据沿袭,您可以在提交工作负载时将 spark.dataproc.lineage.enabled
属性设置为 true
,
Google Cloud CLI 示例:
gcloud dataproc batches submit pyspark FILENAME.py --region=REGION \ --version=1.1 \ --properties=spark.dataproc.lineage.enabled=true \ other args ...
在 Dataplex 中查看沿袭图
沿袭可视化图可显示项目资源与创建这些资源的进程之间的关系。您可以在 Google Cloud 控制台的图表可视化图表中查看数据沿袭信息,或从 Data Lineage API 中检索 JSON 数据的信息。
如需了解详情,请参阅将数据沿袭与 Google Cloud 系统搭配使用 。
示例:
以下 Spark 工作负载从 BigQuery 表中读取数据,然后将输出写入其他 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()
此 Spark 工作负载会在 Dataplex 界面中创建以下沿袭图:
后续步骤
- 详细了解数据沿袭。