表级质量标签

给表打质量标签,让下游选表有依据:标签维度包括是否按时产出、最近是否有失败规则、是否存在已知问题(挂账);标签由平台自动更新并在数据目录展示,重要消费方接入前先看标签再看数据。

表级质量标签

质量标签是打在表上的一份可读状态:这张表是否按时产出、最近有没有未闭环的失败规则、是否存在已知问题(挂账)。标签由平台按规则执行结果自动更新,展示在数据目录的表详情页,下游选表时先看标签再看数据,把“每个消费方各自查一遍”的重复沟通收敛到一处。

基本信息

标签维度产出及时性、质量告警、已知问题
更新方式平台按规则执行结果自动刷新
展示位置数据目录或元数据平台的表详情页
人工补充挂账原因、影响范围、预期恢复时间
消费方动作按标签决定是否直接依赖、是否需要联系 owner

典型使用场景

  • 下游选表时先看标签,避免踩到已知有问题的表
  • 数据目录里快速区分健康表与需人工确认的表
  • 故障期间统一标注影响范围,减少重复询问
  • 挂账问题标注预期恢复时间,避免被反复追问
  • 数仓分层建模时,用标签挑出可作为稳定上游的表
  • 交接与审计时作为表的健康度依据

标签示意

标签含义下游动作
按时产出近 7 天均在承诺时间前产出可直接依赖
有质量告警近 1 天存在未闭环的失败规则使用前查看明细
已知问题存在挂账差异或口径变更中联系表 owner 后再用
暂停更新上游断流或任务下线中不要依赖该表做生产决策

标签自动生成

标签自动生成
-- 近 7 天产出及时性:产出时间晚于承诺时间即计一次延迟
SELECT table_name,
       SUM(CASE WHEN finish_time > promise_time THEN 1 ELSE 0 END) AS late_cnt,
       CASE WHEN SUM(CASE WHEN finish_time > promise_time THEN 1 ELSE 0 END) = 0
            THEN '按时产出' ELSE '有延迟' END AS tag
FROM meta_task_instance
WHERE biz_date >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)
GROUP BY table_name;
标签自动生成、人工可补充备注:把“每个下游各自查一遍”的重复沟通收敛到一处。
标签要设有效期:挂账问题恢复后必须自动或人工清除,否则标签很快失去可信度。
标签按表粒度打,但影响面按链路算:一张表标了“有质量告警”,依赖它的下游表要能顺藤摸瓜一起被标出,否则消费方仍会踩到下游的脏数据。

易错点

  • 标签不随问题更新(已挂账还显示健康),反而误导下游
  • 标签体系设计过细无人维护,半年后全部失效
  • 标签只由规则结果驱动、人工挂账不生效,故障期间下游仍以为表是健康的
  • 标签没有配套的下游动作指引,消费方看到告警也不知道该找谁

数据来源与参考

  • 行业数据目录与质量标签实践
  • DAMA-DMBOK(元数据管理)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌