数据质量你怎么保障?出过数据事故的话怎么定位?
DQ监控血缘
考察意图
数据工程差异化考点。考察是否有体系化质量意识(及时性/完整性/准确性/一致性)。
回答框架
- 质量维度:完整性、准确性、一致性、及时性、唯一性。
- 手段:约束、校验任务、异常监控、血缘与复跑。
- 事故定位:先定现象 → 对照分区/版本 → 顺血缘上溯。
- 预防:契约测试、发布门禁、SLAs。
参考答案(口述版)
我按「维度 + 机制 + 事故响应」回答。
质量维度:
- 完整性:行数、空值率、必填字段
- 准确性:与业务真相/对账一致
- 一致性:跨表、跨端口径一致
- 及时性:分区是否按时就绪
- 唯一性:主键/业务键是否重复
机制:
1. 入仓前:schema 校验、主键冲突检测
2. 仓内:日级 DQ 规则(阈值、范围、枚举、波动)
3. 消费前:看板与指标对账;核心表 SLA
4. 元数据:字段血缘,方便影响面分析
事故定位顺序:确认是「数错了」还是「口径误解」→ 看当天分区体积/延迟 → 对比昨日分布 → 沿血缘找上游变更(任务代码、源系统、埋点)→ 修复后补数并复盘。
关键词
完整性及时性对账血缘SLA
面试官可能的追问
追问 1:体积突然少 30% 一定是故障吗?
不一定,可能是业务下跌或过滤条件变更。要结合上游源表、业务日历与代码 diff,用规则阈值+业务确认。
常见踩坑
- 只监控任务成功,不监控数据内容
- 没有血缘,出事只能全库人肉翻
记忆锚点
任务成功 ≠ 数据正确;质量要沿维度设规则,出事沿血缘上溯。