数据沿袭简介

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

为什么需要数据沿袭?

处理大型数据集通常需要将数据转换为根据特定项目需求量身定制的实体:文本文件、表、报告、信息中心、模型。

例如,假设您拥有一家网店,并在单个 SQL 表中记录每次购买交易。为了让分析师更轻松地处理数据,您可以开始运行从此单个表中提取信息并按区域、品牌或销售价格生成较小表的作业。然后,分析师开始执行相同的操作:他们会执行进一步的转换,将这些较小的表与其他数据源合并,以生成更多表。

这可能会给您的利益相关者带来巨大挑战:

  • 数据使用方无法使用自助服务工具了解数据是否来自权威来源。
  • 由于缺少可靠的方式来跟踪所有数据转换,数据工程师无法找出问题的根本原因。
  • 数据工程师和分析师在修改或删除表之前,无法充分评估可能的影响。
  • 数据治理者无法了解敏感数据在整个组织中的使用情况,也无法验证是否遵守监管要求。

数据沿袭是指一种解决方案,可提供一种实用的方式来执行以下操作:

  • 借助沿袭图了解数据的来源和转换方式。
  • 将与条目和数据操作相关的跟踪错误追溯到其根本原因。
  • 通过影响分析实现更好的变更管理:避免停机或意外错误,了解相关条目并与相关利益相关者协作。

数据沿袭信息模型

在基本形式中,沿袭是指将数据从来源转换为目标的记录。Data Lineage API 会收集这些信息,并使用进程、运行和事件的概念将其整理成分层数据模型。

流程

进程是指针对特定系统支持的数据转换操作的定义。在 BigQuery 沿袭的上下文中,process支持的作业类型之一。

运行

运行是指执行流水线。进程可以多次运行。运行包含开始和结束时间、状态或其他属性等详细信息。 如需了解详情,请参阅run 资源参考

事件

事件表示数据转换操作发生并使数据在来源实体和目标实体之间移动的时间点。

事件包含一个链接列表,用于定义特定事件中的哪个条目是来源,哪个条目是目标。虽然事件用于计算沿袭图,但不会直接在 Google Cloud 控制台中公开。您可以使用数据沿袭 API 创建、读取和删除(但不能更新)它们。

示例

不妨考虑以下示例,其中数据在 BigQuery 表之间复制:

此示例从名为 customer_year 和 customers 的表中提取数据,以派生出名为 top_customer 的表。
显示表数据来源的图表示例。

数据在表之间的移动方式由沿袭进程(在图表中以 BigQuery 沿袭进程图标。 图标表示)描述:它可以是 SQL CREATE TABLE AS SELECT 查询或 INSERT 语句。

对该 SQL 语句的每次执行都构成一次单独的运行。运行包含事件,用于记录哪些表用作来源,哪些表用作目标。在此示例中,表 customer_yearcustomers 都是目标 top_customer 表的来源

沿袭图

沿袭图表示 Data Lineage API 为特定 Dataplex Universal Catalog 条目收集的信息。沿袭图显示单个根条目的上游或下游沿袭。根是指您要查看其沿袭的条目。

示例图展示了两个表中的数据经过转换后合并到新表中,其中详细信息面板显示停靠在底部的 SQL 代码。
Google Cloud 控制台中的沿袭图示例。

Dataplex Universal Catalog 与 Data Lineage API 搭配使用,可标识完全限定名称与数据沿袭所识别实体匹配的条目。对于匹配的 Dataplex Universal Catalog 条目,您可以访问其详情页面上的沿袭标签页,并查看图表。

沿袭图显示两种类型的元素:

  • 宽矩形按钮,表示构建沿袭信息所涉及的实体,作为沿袭事件的来源或目标

  • 较小的方形按钮,表示负责创建或更新来源实体或目标实体的进程。进程按钮使用向 Data Lineage API 报告的来源系统专有的图标。例如,BigQuery 作业使用 BigQuery 沿袭进程图标。 图标。

沿袭路径可视化

沿袭路径可视化可帮助您了解两个选定资源之间的沿袭链接。(将其与沿袭图进行对比,沿袭图显示的是单个根条目的上游或下游沿袭,可能适用于多个来源或目标。)

您需要选择根资源和目标资源,Google Cloud 控制台会显示这两个资源之间的沿袭链接。不在两个资源之间的路径上的其他资源和进程会从路径可视化中隐藏。

 Google Cloud 控制台中的沿袭路径可视化示例。
Google Cloud 控制台中的沿袭路径可视化示例。

沿袭列表视图

沿袭列表视图会显示单个表中的实体的详细沿袭信息。

与沿袭图相比,沿袭列表视图更适合查看相对较小的沿袭图,可让您查看具有多个连接的实体的沿袭信息。

下图展示了Google Cloud 控制台中的沿袭列表视图示例。下面的列表更详细地描述了该图片。

 Google Cloud 控制台中的沿袭列表视图示例。
Google Cloud 控制台中的沿袭列表视图示例。
  • 表中的每一行都表示两个条目之间的单个沿袭链接。在图中,这些名称被描绘为两个条目之间的沿袭链接,包括两者之间的任何进程节点。例如,SourceTarget 是资产节点,两者之间可能有多个进程节点。

  • 方向选项用于指定要在列表中显示的数据流部分(相对于根资产):

    • 上游:显示作为所选条目的数据源的条目的沿袭信息。在沿袭图上,这些条目是指显示在所选条目左侧的条目。

    • 下游:显示使用所选条目或从所选条目派生出的条目的沿袭信息。在沿袭图上,这些条目是指显示在所选条目右侧的条目。

  • 借助时间范围选项,您可以根据沿袭发生的时间过滤沿袭信息:

    • 开始时间:显示在开始时间之后发生的沿袭。

    • 结束时间:显示在结束时间之前发生的沿袭。

  • 深度是指来源资源或派生资源与根资源的距离。列表视图最多可显示 1,000 个沿袭链接,其中从根的深度上限为 10 个沿袭链接。如果有任何沿袭超出此范围,系统会通知您。您可以通过在列表视图中选择其他实体的名称来查看此范围之外的沿袭。

  • 详细信息面板显示链接来源、链接目标以及创建此链接的所有进程的信息。

  • 您可以自定义表中显示的列,并过滤结果。您还可以将结果导出为 CSV 文件。

自动跟踪数据沿袭

启用 Data Lineage API 后,支持数据沿袭的 Google Cloud 系统会开始报告其数据移动情况。每个集成式系统都可以提交不同数据源范围的沿袭信息。如需详细了解每款受支持的产品,请参阅以下部分。

BigQuery

在 BigQuery 项目中启用数据沿袭会使 Dataplex Universal Catalog 自动记录以下各项的沿袭信息:

BigQuery 复制、查询和加载作业以进程的形式表示。如需查看进程详细信息,请在沿袭图上点击 。每个进程都在最新 BigQuery 作业的属性列表中包含 BigQuery job_id

其他服务

数据沿袭支持与以下Google Cloud 服务集成:

自定义数据源的数据沿袭

您可以使用 Data Lineage API 为集成式系统不支持的任何数据源手动记录沿袭信息。

如果您使用的 fullyQualifiedName 与现有 Dataplex Universal Catalog 条目的完全限定名称相匹配,Dataplex Universal Catalog 即可为手动记录的沿袭创建沿袭图。如果您想记录自定义数据源的沿袭,请先创建自定义条目

自定义数据源的每个进程都可以在属性列表中包含 sql 个键。此类键的值将用于在数据沿袭图的详细信息面板中呈现代码突出显示。系统将按原样显示 SQL 语句。用户负责过滤出敏感信息。键名 sql 区分大小写。

OpenLineage

如果您已在使用 OpenLineage 从其他数据源收集沿袭信息,则可以将 OpenLineage 事件导入 Dataplex Universal Catalog,并在 Google Cloud 控制台中显示这些事件。如需了解详情,请参阅与 OpenLineage 集成

限制

  • 系统中会保留所有沿袭信息,但仅保留 30 天
  • 移除相关数据源后,沿袭信息会继续保留。也就是说,如果您移除了 BigQuery 表及其 Dataplex Universal Catalog 条目,则仍可使用 API 读取该表的沿袭信息,最长可达 30 天

访问数据沿袭

如需详细了解如何访问数据沿袭,请参阅将数据沿袭与 Google Cloud 系统搭配使用Data Lineage API

价格

  • Dataplex Universal Catalog 使用高级处理 SKU 来收取数据沿袭费用。如需了解详情,请参阅价格

  • 如需在 Dataplex Universal Catalog 高级处理 SKU 中将数据沿袭费用与其他费用区分开,请在 Cloud Billing 报告中使用标签 goog-dataplex-workload-type 并将其值设为 LINEAGE

  • 如果您使用 CUSTOM 以外的值调用 Data Lineage API Origin sourceType,则会产生额外费用。

后续步骤