在 Dataflow 中使用数据沿袭

数据沿袭是 Dataflow 的一项功能,可让您跟踪数据在系统中的移动方式:数据来自何处、传递到何处以及对其应用了哪些转换。

您使用 Dataflow 运行的每个流水线都有多个关联的数据资产。数据资产的沿袭包括其来源、发生的情况以及随时间的推移而移动到何处。借助数据沿袭,您可以跟踪数据资产从来源到最终目的地的端到端移动。

为 Dataflow 作业启用数据源流时,Dataflow 会捕获数据源流事件并将其发布到 Dataplex Data Lineage API

如需通过 Dataplex 访问数据沿袭信息,请参阅将数据沿袭与 Google Cloud 系统搭配使用

准备工作

设置项目:

  1. 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.
  2. Make sure that billing is enabled for your Google Cloud project.

  3. Enable the Dataplex, BigQuery, and Data lineage APIs.

    Enable the APIs

  4. Make sure that billing is enabled for your Google Cloud project.

  5. Enable the Dataplex, BigQuery, and Data lineage APIs.

    Enable the APIs

在 Dataflow 中,您还需要在作业级别启用谱系。请参阅本文档中的在 Dataflow 中启用数据沿袭

所需的角色

如需获得查看沿袭可视化图表所需的权限,请让管理员向您授予以下 IAM 角色:

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

如需详细了解数据沿袭角色,请参阅数据沿袭的预定义角色

支持和限制

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 价格

后续步骤