表级质量标签
质量标签是打在表上的一份可读状态:这张表是否按时产出、最近有没有未闭环的失败规则、是否存在已知问题(挂账)。标签由平台按规则执行结果自动更新,展示在数据目录的表详情页,下游选表时先看标签再看数据,把“每个消费方各自查一遍”的重复沟通收敛到一处。
基本信息
| 标签维度 | 产出及时性、质量告警、已知问题 |
|---|---|
| 更新方式 | 平台按规则执行结果自动刷新 |
| 展示位置 | 数据目录或元数据平台的表详情页 |
| 人工补充 | 挂账原因、影响范围、预期恢复时间 |
| 消费方动作 | 按标签决定是否直接依赖、是否需要联系 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;标签自动生成、人工可补充备注:把“每个下游各自查一遍”的重复沟通收敛到一处。
标签要设有效期:挂账问题恢复后必须自动或人工清除,否则标签很快失去可信度。
标签按表粒度打,但影响面按链路算:一张表标了“有质量告警”,依赖它的下游表要能顺藤摸瓜一起被标出,否则消费方仍会踩到下游的脏数据。