图 1:本文封面,三层抽屉对应三类元数据。
先说明属性:这是一篇历史题目复盘,题目出自本地历史面试资料(原题问「对大数据平台中的元数据管理是怎么理解的,元数据收集管理体系是怎么样的,会对大数据应用有什么样的影响」),与任何公司的当前招聘无关。它是开放式设计题,没有标准答案,面试官想听的是你能不能把「管数据的数据」讲成一个体系,而不是背几个名词。
想象面试现场:「你们平台的元数据管理是怎么做的?」——这道题的分水岭在于,你是从三张清单讲起,还是从「底座加应用」的结构讲起。
核心结论一句话
元数据分三类:技术元数据回答「数据长什么样」,业务元数据回答「数据是什么意思」,管理元数据回答「数据谁在管、怎么流转」。三类元数据是底座,血缘、质量、权限三大体系是长在底座上的应用。没有自动采集与持续维护的底座,血缘、质量、权限全是手工台账,撑不过一次人员流动。
底座:三类元数据各回答一个问题。
技术元数据是机器视角:表结构、字段类型、分区方式、存储位置、数据量级。业务元数据是人的视角:指标口径、字段含义、负责人、上游下游的业务语义——「gmv 到底是下单口径还是支付口径」就住在这里。管理元数据是流程视角:任务调度依赖、负责人变更记录、生命周期与归档策略。三类合在一起,一张表才从「一堆文件」变成「一份可理解的资产」。
采集体系:自动为主,登记为辅。
元数据最大的敌人是过期,所以采集必须贴着数据的生产过程走。技术元数据从引擎与调度系统里自动抽取:建表语句、分区变更、任务运行日志都是现成来源。血缘从 SQL 与任务依赖里解析:谁读了哪张表、写进哪张表,逐跳记录。业务元数据机器生不出来,得靠登记入口加上负责人制度,让口径在创建表的时候就被写下来。原则只有一条:凡是能让机器采的,绝不让人工填,人工填的部分一定要有 owner 兜底。
应用一:血缘体系。 从原始表到报表逐跳记录加工依赖,价值在两个方向:正查影响面——改一个字段之前,先查下游哪些报表、哪些模型在用;反查来源——报表数字错了,沿血缘一路回溯到出问题的那一跳。没有血缘,每次改表都是拆盲盒。
应用二:质量体系。 给关键字段挂规则:非空、唯一、取值范围、时效性,调度跑批后自动校验,产出质量分和告警。质量的要点不是规则多,而是告警有人接——规则挂在字段上,责任落在负责人头上。
应用三:权限体系。 按角色与密级控制到表和列,敏感字段脱敏后展示,每一次访问留痕可审计。权限到列是分水岭:只到表级的平台,要么把敏感表整表锁死没人能用,要么整表放开谁都看得见,两个极端都是事故温床。
图 2:三类元数据底座与长在它上面的三大体系。
对大数据应用的影响,一句话一个。
可解释:「这个数字是怎么算出来的」能回答,报表才敢被用。可信任:质量分挂着,用的人知道这批数据今天可不可靠。可合规:权限与审计在,敏感数据谁看过、谁导出过,事后查得到。AI 时代这条链还要再延长一截:训练数据集的版本与血缘,决定「这个模型是用哪批数据训出来的」能不能回答——答不上来的团队,模型出了偏差连排查入口都没有。
三个常见误区。
误区一:把元数据当文档 wiki。写在 wiki 里的口径三个月就过期,元数据必须活在采集管道里。误区二:只采集不运营。采集进来没人对质量告警负责、没人认领无主表,底座半年就变成废墟。误区三:权限只做到表级。上面说过,这是两个事故温床二选一。
给你的行动建议。
如果团队还没有元数据体系,别从买平台开始,从一张清单开始:把核心表的负责人、口径、下游依赖各写一行,每周例会过一遍变更。这张简陋的清单就是业务元数据与管理元数据的雏形,等它长到维护不动,再考虑工具——那时你已经知道要买什么了。
你所在的团队,元数据是活在管道里还是躺在 wiki 里?血缘断掉的时候你们是怎么发现的?欢迎分享。