#8 数据质量 中等

数据质量你怎么保障?出过数据事故的话怎么定位?

DQ监控血缘

🎯 考察意图

数据工程差异化考点。考察是否有体系化质量意识(及时性/完整性/准确性/一致性)。

📐 回答框架

  1. 质量维度:完整性、准确性、一致性、及时性、唯一性。
  2. 手段:约束、校验任务、异常监控、血缘与复跑。
  3. 事故定位:先定现象 → 对照分区/版本 → 顺血缘上溯。
  4. 预防:契约测试、发布门禁、SLAs。

💬 参考答案(口述版)

我按「维度 + 机制 + 事故响应」回答。

质量维度:
- 完整性:行数、空值率、必填字段
- 准确性:与业务真相/对账一致
- 一致性:跨表、跨端口径一致
- 及时性:分区是否按时就绪
- 唯一性:主键/业务键是否重复

机制:
1. 入仓前:schema 校验、主键冲突检测
2. 仓内:日级 DQ 规则(阈值、范围、枚举、波动)
3. 消费前:看板与指标对账;核心表 SLA
4. 元数据:字段血缘,方便影响面分析

事故定位顺序:确认是「数错了」还是「口径误解」→ 看当天分区体积/延迟 → 对比昨日分布 → 沿血缘找上游变更(任务代码、源系统、埋点)→ 修复后补数并复盘。

🔍 关键词

完整性及时性对账血缘SLA

💭 面试官可能的追问

追问 1:体积突然少 30% 一定是故障吗?

不一定,可能是业务下跌或过滤条件变更。要结合上游源表、业务日历与代码 diff,用规则阈值+业务确认。

⚠️ 常见踩坑

  • 只监控任务成功,不监控数据内容
  • 没有血缘,出事只能全库人肉翻

🧠 记忆锚点

任务成功 ≠ 数据正确;质量要沿维度设规则,出事沿血缘上溯。