智汇 IT
城启新篇

数据治理中的数据血缘追踪 别再把它当附属功能

上周跟某股份制银行的数仓主管约咖啡,他一坐下就吐槽,去年申请了大几十万预算买的血缘追踪工具,现在团队日常只用它做上线前的字段映射检查,等于买了个能跑200码的跑车,天天用来楼下取快递。

最先出问题的从来不是血缘图好不好看

这种落差我见得太多了。上个月帮朋友排查个数据问题,他们数仓里的用户等级字段,从核心业务库同步到ODS层,再清洗加工到DWD的用户明细,最后聚合到DWS的用户宽表,出现在运营部门的月度活跃报表里。那天运营突然说这个字段的统计值比上月差了30%,找了三拨人掰扯。数仓开发说自己的加工逻辑从上线就没动过,业务侧说源表的取值规则早就按新的会员体系调整过,BI团队说自己取数的时候没加额外的过滤条件。

折腾了整整两周才找到根源——是中间某个临时为了做活动加的清洗任务,把原来1-5级的用户里,3级以下的全部统一归到了0级,这个逻辑没人同步到血缘平台里,图谱上还标着原来的加工链路。

说白了,绝大多数所谓的血缘断层,根本不是工具画不出来,是没人愿意把临时逻辑补进图谱。很多人对血缘的认知还停留在“画个带箭头的流程图”,觉得只要箭头连对了就完事了。

数据血缘追踪字段映射全链路示意图
数据血缘追踪字段映射全链路示意图

麻烦在于现在企业里的计算链路太碎了。有写在调度平台里的Python脚本,有跑在Flink上的实时计算任务,还有业务侧自己用SQL导到本地Excel再算的临时分析表,甚至还有那种离职同事留下的、连半行注释都没有的存储过程。你总不能要求每个开发写完临时脚本,都先停下手头的活,去血缘平台录一遍全链路逻辑吧?换你你也嫌麻烦。

真正有用的血缘从来不是静态的图谱

我见过不少团队一开始搞血缘,就追求全量覆盖。从最底层的业务源表,到最前端的应用大屏,所有字段所有任务都要录进图谱,花了三个月搭完漂亮的可视化界面,一上线就废了。

为什么?因为每次任务逻辑改了,没人同步更新图谱,过俩月图上的箭头和实际跑的链路根本对不上,团队里的人反而更不信这个东西。

其实大家用血缘,从来不是为了对着一张静态图欣赏。数据血缘的核心价值从来不是“记录历史”,是能在问题发生的时候,顺着链路快速定位影响范围。比如你要改某个源表的字段类型,有靠谱的血缘图谱,5分钟就能查出来哪些下游任务、哪些对外报表会受影响,不用挨个发消息问各个开发。没有的话,你就得翻遍所有代码仓库,找三天都不一定能摸全所有关联链路。

实时数仓数据血缘影响范围排查流程图
实时数仓数据血缘影响范围排查流程图

很多厂商卖血缘工具的时候,宣传得天花乱坠,说什么“自动解析全链路计算逻辑”,真买回去落地就知道,能自动解析标准的SQL逻辑就不错了,那些嵌在代码里的硬编码判断、动态拼接的表名、跨系统的手动导数据流程,根本解析不出来。要是真信了销售的话,以为装完工具就万事大吉,最后肯定要踩坑。

别为了血缘而血缘的代价

别为了血缘而血缘的代价
别为了血缘而血缘的代价

之前碰到个做装备制造的企业,数字化团队为了凑数据治理的考核指标,硬要把所有系统的表、字段、接口全部录到血缘平台里,甚至连车间门口大屏上显示的设备实时温度字段,都要拉出来做个完整的溯源链路。

花了快半年时间,投了两个开发团队专门维护平台数据,最后呢?实际日常用的时候,没人会去查车间大屏的字段来源,反而那些每天要跑的核心交易链路,因为临时调整的任务太多,图谱上的信息一直是错的。

说实话,这事没那么玄。真正落地的时候,根本不需要一开始就追求100%的链路覆盖。先把核心的、经常出问题的链路捋清楚——比如涉及到财务报表、用户核心资产、对外公示的指标链路,先把这些的血缘做准,能快速排查问题了,再慢慢往外扩。比你一开始就铺大摊子,为了覆盖而覆盖,效率高太多。

我之前见过最爽的一次血缘排查,是某业务线的核心用户指标突然掉了20%,运维顺着血缘链路10分钟就找到是上游某个跨系统的同步任务断了,数据没正常落表。要是搁以前没有靠谱的血缘,没个半天根本找不到问题在哪。那种省下来的时间,真的比看十份行业报告都有成就感。

现在很多人谈数据治理,总喜欢抛一堆高大上的概念,最后落到实际干活的时候,连个核心字段从哪来、到哪去、中间经过了哪些加工都搞不清楚。数据治理中的数据血缘追踪这东西,从来不是给领导演示用的PPT素材。它是给一线开发、数据分析师、运维人员省时间的工具。要是最后做出来的东西,只有季度检查的时候才有人点开看一眼,那还不如不做。

免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。如有侵权请联系删除。
文章名称:数据治理中的数据血缘追踪 别再把它当附属功能
文章链接:https://www.itcdj.com/it/380.html