数据沿袭是 Dataflow 的一项功能,可让您跟踪数据在系统中的移动方式:数据来自何处、传递到何处以及对其应用了哪些转换。
您使用 Dataflow 运行的每个流水线都有多个关联的数据资产。数据资产的沿袭包括其来源、发生的情况以及随时间的推移而移动到何处。借助数据沿袭,您可以跟踪数据资产从来源到最终目的地的端到端移动。
为 Dataflow 作业启用数据源流时,Dataflow 会捕获数据源流事件并将其发布到 Dataplex Data Lineage API。
如需通过 Dataplex 访问数据沿袭信息,请参阅将数据沿袭与 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, BigQuery, and Data lineage APIs.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Dataplex, BigQuery, and Data lineage APIs.
在 Dataflow 中,您还需要在作业级别启用谱系。请参阅本文档中的在 Dataflow 中启用数据沿袭。
所需的角色
如需获得查看沿袭可视化图表所需的权限,请让管理员向您授予以下 IAM 角色:
-
针对 Dataplex 资源项目的 Dataplex Catalog Viewer (
roles/dataplex.catalogViewer
) -
您在其中使用 Dataflow 的项目的 Data Lineage Viewer (
roles/datalineage.viewer
) -
您在其中使用 Dataflow 的项目的 Dataflow Viewer (
roles/dataflow.viewer
)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
如需详细了解数据沿袭角色,请参阅数据沿袭的预定义角色。
支持和限制
Dataflow 中的数据谱系存在以下限制:
- Apache Beam SDK 2.63.0 及更高版本支持数据谱系。
- 您必须针对每个作业启用数据沿袭。
- 数据捕获并非瞬时完成。Dataflow 作业谱系数据可能需要几分钟才能显示在 Dataplex 中。
支持以下来源和接收器:
- Apache Kafka
- BigQuery
- Bigtable
- Cloud Storage
- JDBC(Java 数据库连接)
- Pub/Sub
- Spanner
使用这些源和接收器的 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
您可以选择使用服务选项指定以下一个或两个参数:
process_id
:Dataplex 用于对作业运行进行分组的唯一标识符。如果未指定,则使用作业名称。process_name
:数据传承过程的人类可读名称。如果未指定,则使用以"Dataflow "
开头的作业名称。
请按如下所示指定这些选项:
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 中的沿袭
数据沿袭可提供有关项目资源与创建这些资源的流程之间关系的信息。您可以在 Google Cloud 控制台中以图表或单个表格的形式查看数据谱系信息。您还可以以 JSON 数据的形式从 Data Lineage API 检索数据谱系信息。
如需了解详情,请参阅将数据沿袭与 Google Cloud 系统搭配使用。
在 Dataflow 中停用数据沿袭
如果为特定作业启用了数据传承,但您想停用它,请取消现有作业,然后在不指定 enable_lineage
服务选项的情况下运行新版本的作业。
结算
在 Dataflow 中使用数据源起源不会影响您的 Dataflow 账单,但可能会导致您的 Dataplex 账单产生额外费用。如需了解详情,请参阅数据沿袭注意事项和 Dataplex 价格。