血缘要贯通到最后
指标血缘要贯通「指标、公式、派生指标、原子指标、字段、表、源系统」这条链路,用于影响分析与问题定位。上游字段变更时,血缘告诉你会影响哪些指标与报表;指标数字异常时,血缘告诉你该从哪张表往上游查。血缘通常靠 SQL 解析自动采集,再配合人工登记补充动态 SQL、调度参数和跨系统引用,否则必然会留下断点。
基本信息
| 层级 | 指标、字段、表、任务、报表 |
|---|---|
| 采集方式 | SQL 解析自动采集加人工登记 |
| 用途 | 影响分析、异常追因、下线评估 |
| 难点 | 动态 SQL、临时表、跨系统引用 |
| 维护 | 随调度刷新,并与实际比对 |
典型使用场景
- 上游表结构调整前,先查下游受影响的指标与报表清单
- 指标数字异常时沿血缘自下而上定位到具体字段与任务
- 指标下线前确认没有被其他指标或报表引用
- 治理盘点:识别无人维护的中间表与废弃链路
- 审计追溯:说明某个对外数字的完整加工路径
- 临时表与中间任务的引用关系登记后,任务下线前可逐一核对
影响分析与溯源
影响分析与溯源
-- 影响分析:查引用了某字段的指标与报表
SELECT metric_code, report_id
FROM meta_lineage
WHERE upstream = 'dw.fact_pay.fee' AND level = 'metric';
-- 溯源:从指标往上游回溯到源表
SELECT upstream, level
FROM meta_lineage
WHERE downstream = 'PAY_AMT_7D'
ORDER BY level;血缘要素
| 要素 | 说明 | 异常表现 |
|---|---|---|
| 上游节点 | 字段、表、任务 | 缺失则影响分析漏项 |
| 下游节点 | 指标与报表 | 不登记报表会让下线评估失准 |
| 层级 | 字段、表、指标、报表 | 层级缺失则跨层追溯中断 |
| 刷新时间 | 血缘采集的最近时间 | 长期不刷新会与实际不一致 |
血缘覆盖的最大障碍是动态 SQL 与临时表:解析不到的部分要人工补登记,并在评审时提示,否则关键链路正好落在盲区里。
血缘要与实际情况定期比对:表改了名、任务改了依赖,血缘若不同步,影响分析给出的清单反而会误导决策。
登记成本要控制:强制为每张临时表补血缘并不现实,通行做法是自动采集为主、人工补登记为辅,并把缺口清单纳入建模评审,逐条收敛。