目标
一张自信满满却过时的手工血缘图比没有图更危险:它在用虚构回答影响分析。从管道代码本身解析生成血缘,每次部署自动重建,图回答的是“现在是什么”而不是“谁记得什么”;变更前的影响分析还能把受影响的资产直接落到可联系的责任人身上。
步骤要点
- 从代码生成血缘而非维基:解析管道定义自动提取表与列依赖,拒绝会腐烂的手工图,每次部署自动重建。
- 每个资产登记责任人:图中每个表、仪表盘、模型都有具名 owner,影响分析产出的是联系人而不只是名字。
- 发布为可查询图谱:API 或界面双向作答——这个字段被谁依赖、这个数字从哪来,秒级返回。
- 变更前跑影响分析:schema 或逻辑变更引用机器生成的受影响清单,owner 确认后才允许合并。
- 审计血缘覆盖率:统计有血缘与有 owner 的生产资产占比,驱动孤儿的登记。
排错提示
手工血缘图与实际不符时应立即弃用,以代码解析为准重建;影响分析漏了三跳外的仪表盘说明血缘只到表级,要下探到字段级;覆盖率停在七成说明有管道没接生成器,把孤儿资产列出来逐个收编。
适用边界
代码生成血缘只覆盖可解析的转换,黑盒脚本与 BI 工具内建模型是盲区需人工补录;字段级解析对动态 SQL 与反射式代码能力有限,需约定写法配合。
代码示例
question: rename orders.total_cents -> total_amount_cents
lineage impact (generated, 0.4s):
tables (3 hops):
wh.fct_orders (direct)
wh.agg_daily_revenue (selects total_cents)
dashboards:
revenue_v3 (uses agg_daily_revenue)
finance_exec (uses agg_daily_revenue)
owners acked: analytics-lead, finance-data-eng
coverage: 96% assets registered (4 orphans listed)