数据沿袭是 Dataflow 的一项功能,可让您跟踪数据在系统中的移动方式:数据来自何处、传递到何处以及对其应用了哪些转换。
您使用 Dataflow 运行的每个流水线都有多个关联的数据资产。数据资产的沿袭包括其来源、发生的变化以及随时间推移的去向。借助数据沿袭,您可以跟踪数据资产从来源到最终目的地的端到端移动。
为 Dataflow 作业启用数据沿袭后,Dataflow 会捕获沿袭事件并将其发布到 Dataplex Universal Catalog Data Lineage API。
如需通过 Dataplex Universal Catalog 访问沿袭信息,请参阅将数据沿袭与 Google Cloud 系统搭配使用。
准备工作
设置项目:
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Dataplex Universal Catalog, BigQuery, and Data lineage APIs.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Dataplex Universal Catalog, BigQuery, and Data lineage APIs.
-
针对 Dataplex Universal Catalog 资源项目的 Dataplex Catalog viewer (
roles/dataplex.catalogViewer
) -
针对您在其中使用 Dataflow 的项目的 Data Lineage Viewer (
roles/datalineage.viewer
) -
Dataflow Viewer (
roles/dataflow.viewer
) 针对您在其中使用 Dataflow 的项目 - Apache Beam SDK 2.63.0 版及更高版本支持数据沿袭。
- 您必须按作业启用数据沿袭。
- 数据捕获不会立即完成。Dataflow 作业沿袭数据可能需要几分钟时间才能显示在 Dataplex Universal Catalog 中。
支持以下来源和接收器:
- Apache Kafka
- BigQuery
- Bigtable
- Cloud Storage
- JDBC(Java 数据库连接)
- Pub/Sub
- Spanner
使用这些来源和接收器的 Dataflow 模板也会自动捕获和发布谱系事件。
process_id
:Dataplex Universal Catalog 用于对作业运行进行分组的唯一标识符。如果未指定,则使用作业名称。process_name
:数据沿袭流程的直观易懂的名称。 如果未指定,则使用以"Dataflow "
为前缀的作业名称。
在 Dataflow 中,您还需要在作业级层启用沿袭。 请参阅本文档中的在 Dataflow 中启用数据沿袭。
所需的角色
如需获得查看沿袭可视化图表所需的权限,请让您的管理员为您授予以下 IAM 角色:
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
如需详细了解数据沿袭角色,请参阅数据沿袭的预定义角色。
支持和限制
Dataflow 中的数据沿袭具有以下限制:
在 Dataflow 中启用数据沿袭
您需要在作业级层启用谱系。如需启用数据沿袭,请使用 enable_lineage
Dataflow 服务选项,如下所示:
Java
--dataflowServiceOptions=enable_lineage=true
Python
--dataflow_service_options=enable_lineage=true
Go
--dataflow_service_options=enable_lineage=true
gcloud
使用带有 additional-experiments
选项的 gcloud dataflow jobs run
命令。如果您使用的是 Flex 模板,请使用 gcloud dataflow flex-template run
命令。
--additional-experiments=enable_lineage=true
您可以选择性地通过服务选项指定以下一个或两个参数:
按如下方式指定这些选项:
Java
--dataflowServiceOptions=enable_lineage=process_id=PROCESS_ID;process_name=DISPLAY_NAME
Python
--dataflow_service_options=enable_lineage=process_id=PROCESS_ID;process_name=DISPLAY_NAME
Go
--dataflow_service_options=enable_lineage=process_id=PROCESS_ID;process_name=DISPLAY_NAME
gcloud
--additional-experiments=enable_lineage=process_id=PROCESS_ID;process_name=DISPLAY_NAME
在 Dataplex Universal Catalog 中查看沿袭
数据沿袭可提供有关项目资源与创建这些资源的进程之间关系的信息。您可以在 Google Cloud 控制台中以图表或单个表格的形式查看数据沿袭信息。您还可以从 Data Lineage API 中以 JSON 数据的形式检索数据沿袭信息。
如需了解详情,请参阅将数据沿袭与 Google Cloud 系统搭配使用。
在 Dataflow 中停用数据沿袭
如果已为特定作业启用数据沿袭,但您想将其停用,请取消现有作业,然后运行不含 enable_lineage
服务选项的新版作业。
结算
在 Dataflow 中使用数据沿袭不会影响您的 Dataflow 账单,但可能会导致您的 Dataplex Universal Catalog 账单产生额外费用。如需了解详情,请参阅数据沿袭注意事项和 Dataplex Universal Catalog 价格。