数据沿袭可帮助您跟踪数据在系统中的移动方式。您可以查看数据资产的来源、目标和应用的相关转换。
您可以在 Google Cloud 控制台中查看 Dataplex Universal Catalog、BigQuery 和 Vertex AI 资产的沿袭信息,也可以使用 Data Lineage API 检索该信息。
为什么需要数据沿袭
大型数据集通常需要将数据转换为各种格式,以用于特定项目,例如文本文件、表格、报告、信息中心和模型。
例如,某网店可能有一条数据流水线,其流程如下:
Dataflow 作业从 Pub/Sub 主题读取原始购买事件,从 Cloud Storage 文件读取商品详情,并从 BigQuery 表读取客户信息。该作业会联接这些信息,并在 BigQuery 中创建一个
purchases
表。后续的 BigQuery 作业会转换
purchases
表,以创建更小的汇总表(例如region
或brand
),并计算新列(例如total_profit
)。分析师使用这些表在 Looker 中生成报告和信息中心。
这种常见情况可能会带来以下几项挑战:
数据使用方缺乏自助服务方法来验证数据是否来自权威来源。
数据工程师难以找到问题的根本原因,因为他们无法可靠地跟踪所有数据转换。例如,如果分析师在
total_profit
列中发现错误,则很难将该错误追溯到其来源。数据工程师和分析师无法全面评估修改或删除表的潜在影响。例如,在弃用
product_id
列之前,他们必须确定所有依赖的下游列,以避免报告中断。数据治理者无法了解敏感数据在整个组织中的使用情况,因此难以确保符合监管要求。
数据沿袭通过提供清晰直观的数据历程图来解决这些问题。借助数据沿袭,您可以执行以下操作:
了解如何使用沿袭图来确定数据来源和转换数据。
将数据条目和操作中的错误追溯到其根本原因。
通过影响分析实现更好的变更管理,避免停机或意外错误,了解依赖关系,并与利益相关者协作。
数据沿袭工作流
数据沿袭工作流包括以下步骤:
数据源和注入:来自数据源的谱系信息会启动整个流程。如需了解详情,请参阅沿袭来源。
Google Cloud 服务:启用 Data Lineage API 后,BigQuery 和 Dataflow 等受支持的服务会在每次移动或转换数据时自动报告沿袭事件。
自定义来源:对于Google Cloud 集成功能未自动支持的任何系统,您都可以使用 Data Lineage API 手动记录沿袭信息。我们建议导入按照 OpenLineage 标准设置格式的事件。
沿袭平台:此中央平台可提取、建模和存储所有沿袭数据。如需了解详情,请参阅沿袭信息模型和粒度。
Data Lineage API:此 API 充当所有传入沿袭信息的单个入口点。它使用由三个核心概念(进程、运行和事件)组成的层次化数据模型。
处理和存储:平台处理传入的数据,并将其存储在可靠的、经过查询优化的数据库中。
用户体验:您可以通过两种主要方式与存储的沿袭信息进行互动:
可视化探索:在 Google Cloud 控制台中,前端服务会提取沿袭数据并将其呈现为互动式图表或列表。Dataplex Universal Catalog、BigQuery 和 Vertex AI(适用于模型、数据集、Feature Store 视图和特征组)支持此功能。此图表非常适合直观地探索数据的历程。如需了解详情,请参阅 Google Cloud 控制台中的谱系视图。
程序化访问:使用 API 客户端,您可以直接与 Data Lineage API 通信,以自动执行沿袭管理。这样一来,您就可以从自定义来源写入沿袭信息。此外,您还可以读取和查询存储的谱系数据,以便在其他应用中使用或构建自定义报告。
沿袭来源
您可以通过以下方式在 Dataplex Universal Catalog 中填充沿袭信息:
- 自动从集成 Google Cloud 的服务中获取
- 手动使用 Data Lineage API 处理自定义来源
- 通过从 OpenLineage 导入事件
自动数据沿袭跟踪
启用 Data Lineage API 后,支持数据沿袭的 Google Cloud 系统会开始报告其数据移动情况。每个集成式系统都可以提交不同数据源范围的沿袭信息。
BigQuery
在 BigQuery 项目中启用数据沿袭后,Dataplex Universal Catalog 会自动记录以下各项的沿袭信息:
因以下 BigQuery 作业而创建的新表:
在 GoogleSQL 中使用以下数据操纵语言 (DML) 语句时产生的现有表:
SELECT
,与列出的任何表类型相关:INSERT SELECT
MERGE
UPDATE
DELETE
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 表,您仍然可以通过 API 和控制台查看其沿袭信息,最长可达 30 天。
列级沿袭限制
列级沿袭还存在以下限制:
系统不会为 BigQuery 加载作业或例程收集列级沿袭信息。
不会为外部表收集上游列级沿袭信息。
如果作业创建的列级链接超过 1,500 个,系统将不会收集列级沿袭数据。在这些情况下,系统只会收集表级沿袭信息。
目前没有 API 可用于创建、读取、更新、删除或搜索列级沿袭。
对分区表的支持有限,因为沿袭图表中无法识别
_PARTITIONDATE
和_PARTITIONTIME
等分区列。控制台限制:
沿袭图的遍历深度限制为 20 级,每个方向的链接数限制为 10,000。
列级沿袭仅从根表所在的区域提取。图表视图中不支持跨区域沿袭。
价格
Dataplex Universal Catalog 使用高级处理 SKU 来收取数据沿袭费用。如需了解详情,请参阅价格。
如需在 Dataplex Universal Catalog 高级处理 SKU 中将数据沿袭费用与其他费用区分开,请在 Cloud Billing 报告中使用标签
goog-dataplex-workload-type
并将其值设为LINEAGE
。如果您使用
CUSTOM
以外的值调用 Data Lineage APIOrigin
sourceType
,则会产生额外费用。
后续步骤
了解如何将数据沿袭与 Google Cloud 系统搭配使用。
探索 Data Lineage API。
如需了解管理信息,请参阅沿袭注意事项和数据沿袭审核日志记录。