概述
数据血缘(Data Lineage)记录表、视图、模型与生产它们的任务之间的上下游关系,回答两类核心问题:
影响分析(向下追溯) :如果我修改这张表,下游有哪些任务、报表、模型会受影响?
数据溯源(向上追溯) :这张表、这个模型的数据来自哪些源表、由哪个任务生成?
DataBuddy 在表和模型详情页提供 血缘 Tab,自动采集 SQL 开发、Notebook、Workflow 任务、数据集成、Dashboard 等多种执行平台上报的血缘信息,并提供 图模式 与 列表模式 两种查看方式。
本文介绍数据血缘的查看方式、节点信息、采集范围与典型用法。
前提条件
当前账号在目标工作空间中拥有目标资产的查看权限。
上下游关系依赖各执行平台的上报,仅运行过的任务才会产生血缘记录。
使用限制
限制项 | 说明 |
血缘维度 | 当前支持 表级血缘 ;字段级血缘在后续迭代规划 |
资产类型 | 表(含视图、推理表、特征表)、模型 |
任务类型 | SQL 开发、Notebook、Workflow 任务、数据集成(离线 / 实时)、BI(Dashboard) |
采集触发 | 血缘随任务运行(含测试运行)自动上报 |
删除联动 | 任务或文件被删除时,平台自动清理对应血缘关系,避免残留无效节点 |
查看血缘
入口
资产类型 | 入口 |
表 / 视图 | 表详情页 血缘 Tab |
模型 | 模型版本详情页 血缘 Tab |
进入 血缘 Tab 后,默认展示 列表模式 ,您可以点击右上角图标切换到 图模式 。
列表模式
列表模式以列表形式展示当前资产的上下游一层关系,适合快速查阅与按名称搜索。
表的列表模式
列 | 说明 |
名称 | 上下游资产名称(表 / 视图 / 推理表 / 特征表 / 模型 / SQL / Notebook / Task),支持点击跳转到详情页 |
方向 | 该项是当前表的「上游」还是「下游」 |
类型 | 表 / 视图 / 推理表 / 特征表 / 模型 / SQL / Notebook / Task |
支持模糊搜索资产名称、分页浏览。
模型的列表模式
模型的列表模式仅展示一层上下游关系:
列 | 说明 |
名称 | 上下游资产名称 |
方向 | 上游:数据表 / 特征表;下游:数据表 / 推理表 |
Process 类型 | 上游 process:Notebook / Studio;下游 process:模型服务 |
最近更新 | 该资产最近一次更新时间 |
图模式
图模式以拓扑图形式展示血缘关系,便于把握整体结构。点击列表模式右上角的 图模式 tab 切换。
节点类型
血缘图中的节点分为 资产节点 与 任务节点 。
节点类型 | 子类型 | 图标 |
资产 | 表(含视图、推理表、特征表) | 表 / 视图 / 推理表 / 特征表 各自的图标 |
资产 | 模型 | 模型图标(在画布右下角图例中可识别) |
任务 | TASK(Workflow 任务) | TASK 图标 |
任务 | SQL(Studio 中的 SQL 文件) | SQL 图标 |
任务 | NOTEBOOK | NOTEBOOK 图标 |
任务 | 数据集成(离线 / 实时) | 离线 / 实时集成各自的图标 |
任务 | BI(Dashboard) | BI 图标 |
节点信息
点击图中节点查看详细信息。各节点类型展示信息如下:
资产节点(表、视图)
业务信息:描述、标签、创建时间、责任人。
技术信息:数据源类型、Catalog、Schema、存储路径、最近 DDL 变更时间、最近数据变更时间。
跨数据源:Kafka 节点名称展示为
topic 名;ES 节点名称展示为 index 名。TASK 节点(Workflow 任务)
基本信息:任务名称(可跳转)、任务类型、描述、创建时间、更新时间、创建人、所属工作流(可跳转)。
业务代码:右侧展示任务代码。
SQL 节点(Studio 中的 SQL 文件)
基本信息:运行记录、类型、上次运行时间、来源(可跳转)
业务代码:右侧展示 SQL 内容。
Notebook 节点
基本信息:文件名称(可跳转)、创建时间、创建人。
业务代码:右侧展示 Notebook 内容。
模型节点
唯一标识:模型名称(可跳转)、版本。
操作:点击 查看详情 跳转到模型详情页。
数据集成节点
任务名称(可跳转到任务详情页)、任务类型(实时、离线)、创建人、创建时间。
BI 节点
BI 名称(可跳转到 Dashboard)、创建人、创建时间。
画布操作
操作 | 说明 |
搜索 | 画布右上角检索框,按节点名称(含机器学习模型名称)模糊搜索并定位 |
时间过滤 | 按上报时间范围过滤血缘节点 |
缩放 / 平移 | 鼠标滚轮缩放、拖拽平移,便于查看复杂血缘网络 |
图例 | 画布右下角展示节点类型图例,可在多种资产 / 任务图标间快速识别 |
血缘的采集与更新
自动采集
DataBuddy 自动从下列执行平台采集血缘信息:
来源 | 上报内容 |
Studio SQL 文件 / Workflow SQL 任务 | 由计算引擎在执行时动态解析 SQL 输入输出表,每次提交(含测试运行)都会上报 |
Spark Jar 任务 | 任务运行时上报 |
Notebook | Notebook 中执行的 SQL / Python 代码引用的表 |
Workflow 任务 | 周期调度运行时随任务上报 |
数据集成(离线 / 实时) | 由数据集成模块定时上报源表与目标表关系 |
BI(Dashboard) | 由 BI 模块定时上报 Dashboard 与数据集、源表关系 |
底层基于 DLC SQL 在 Spark 内核的动态血缘解析能力,对所有给引擎提交的 SQL 与作业进行统一采集。
删除时的清理
当任务或文件被删除时,平台会向血缘系统上报删除事件,自动清理对应的血缘关系,避免血缘图中残留无效节点:
对象 | 触发动作 |
任务(Workflow Task) | 任务被删除 |
文件(Studio 中的 SQL 文件) | 文件被删除 |
时间元数据
血缘节点会附带时间元数据,便于区分活跃与历史节点:
字段 | 说明 |
任务创建时间 | 任务被创建的时间,用于区分新老任务 |
任务最近运行时间 | 最近一次运行时间 |
SQL 最近运行时间 | SQL 文件最近一次运行时间 |
模型血缘
模型血缘是表血缘的延伸,对应机器学习全流程的资产关系:
阶段 | 节点类型 | 关系说明 |
原始数据 → 特征表 | 上游:数据表;下游:特征表 | 沿用表血缘逻辑(数据处理任务) |
特征表 → 训练数据 | 上游:特征表;下游:训练数据表 | 数据处理 / 特征提取任务 |
训练数据 → 模型 | 上游:表;下游:模型节点 | 模型训练任务(来源是 Notebook 或 Studio 任务) |
模型 → 推理表 | 上游:模型;下游:推理表 | 模型服务任务 |
模型血缘的关键行为:
模型唯一标识使用 模型名称、版本 。
不存在「模型更新」的语义;新版本被视作新血缘节点。
任务删除时,关联血缘节点同步删除连线或节点。
典型用法
影响分析:修改前评估下游
在准备修改某张事实表前:
1. 进入表详情页 血缘 Tab。
2. 在列表模式中查看「下游」资产清单:哪些 SQL 文件、Workflow 任务、Dashboard、模型直接依赖这张表。
3. 切换到图模式,进一步查看二级、三级下游。
4. 提前通知相关 owner,并安排回归测试。
数据溯源:定位异常源头
发现某张表数据异常时:
1. 进入表详情页 血缘 Tab。
2. 在图模式中向上游展开,找到生产该表的任务节点(Notebook / Workflow Task / SQL)。
3. 点击任务节点查看任务代码与最近运行时间。
4. 进入任务详情页排查具体逻辑或运行日志。
模型治理:版本对比与下游评估
在模型版本切换前:
1. 进入模型详情页 血缘 Tab。
2. 列表模式中查看「下游」推理表与模型服务。
3. 评估切换版本对线上服务的影响。
与其他模块的关系
模块 | 关系 |
Workflow | Workflow 任务运行时自动上报血缘,任务节点出现在血缘图中 |
Studio | SQL 开发、Notebook 在执行 SQL 时自动上报血缘 |
模型 Catalog | 模型节点的元数据来源 |
数据集成 | 离线 / 实时同步任务作为血缘节点参与图谱 |
仪表盘 | Dashboard 作为下游血缘节点参与图谱 |
常见问题
Q:为什么我刚跑完的 SQL 还没出现在血缘图中?
A:血缘采集与图模式渲染存在短暂延迟。请稍等 1-2 分钟后刷新血缘 Tab。如长时间未出现,请检查任务是否成功执行、SQL 中是否使用了三段式
catalog.schema.table 路径或当前 SQL 上下文是否设置正确。Q:测试运行的 SQL 也会产生血缘吗?
A:会。引擎对所有提交执行的 SQL 与作业都会进行血缘解析,包含测试运行。如不希望测试上报,建议使用临时表或单独的测试 Schema。
Q:删除任务后血缘节点会立刻消失吗?
A:平台在任务删除时会上报清理事件,血缘节点通常在短时间内同步清理。
Q:能否查看字段级血缘?
A:当前版本仅支持表级血缘。字段级血缘已在后续迭代规划中。
Q:跨 Catalog 的血缘能否正确展示?
A:可以。血缘节点以三段式
catalog.schema.object 唯一标识,跨 Catalog 与跨工作空间的血缘均可在图中展示。是否对您可见,仍受当前账号的访问权限控制。相关文档
仪表盘概述