M8-020M8: ML Systems, Engineering & ResearchData Pipelines & StreamingMedium
Mastery:

Data Pipelines & Streaming: 解释数据质量监控的维度与手段。

📐 Mathematical Definition
dimensions: completeness,accuracy,consistency,timeliness,uniqueness\text{dimensions}:\ \text{completeness},\text{accuracy},\text{consistency},\text{timeliness},\text{uniqueness}
⚡ Executive Summary
Core Concept: 维度:完整性/准确性/一致性/及时性/唯一性;手段:任务内断言、事后监控、分布对比、异常检测。

📌 Key Takeaways

  • •
    完整性(空值率/行数)、准确性(范围/格式)、一致性(跨表对齐)
  • •
    及时性(新鲜度/延迟)、唯一性(去重)
  • •
    手段:任务内断言 + 事后监控 + 分布对比 + 异常检测 + 告警

📐 Mathematical Derivations

数学机理:<strong>数据质量的六个维度</strong>——(1) <strong>完整性(completeness)</strong>——(a) <strong>行数</strong>(与预期对比——<strong>最实用</strong>);(b) <strong>空值率</strong>(关键字段的空值比例);(c) <strong>覆盖率</strong>(如'多少用户有画像')。(2) <strong>准确性(accuracy)</strong>——(a) <strong>范围</strong>(数值在合理区间);(b) <strong>格式</strong>(枚举值合法、时间格式);(c) <strong>业务规则</strong>(如'金额 > 0')。(3) <strong>一致性(consistency)</strong>——(a) <strong>跨表对齐</strong>(如'订单表的用户 id 在用户表中存在');(b) <strong>跨系统一致</strong>(数仓 vs 线上);(c) <strong>内部一致</strong>(如'总数 = 各分项之和')。(4) <strong>及时性(timeliness)</strong>——(a) <strong>新鲜度</strong>(最新数据的时刻);(b) <strong>产出时间</strong>(SLA 达标率);(c) <strong>延迟</strong>(数据产生到可用的延迟)。(5) <strong>唯一性(uniqueness)</strong>——(a) <strong>主键唯一</strong>;(b) <strong>重复率</strong>(去重后的比例)。(6) <strong>有效性/分布(validity/distribution)</strong>——(a) 分布对比(与历史/基准对比);(b) 统计量(均值/分位数/基数)。<strong>监控手段</strong>——(1) <strong>任务内断言(inline assertions)</strong>——在管道中嵌入校验(如'行数 > 1000'),失败则<strong>阻断任务</strong>;<strong>优点</strong>——早发现(防止错误数据流入下游)。(2) <strong>事后监控(post-hoc)</strong>——任务完成后检查(如'与昨天的行数对比');<strong>优点</strong>——不阻塞(可容错)。(3) <strong>分布对比</strong>——与'历史分布'或'基准分布'对比(如 PSI/KL 散度);检测'分布漂移'。(4) <strong>异常检测</strong>——用统计方法(如 3-sigma、IQR)或模型检测异常。(5) <strong>对账(reconciliation)</strong>——与'权威数据源'对账(如与线上 DB 对账)。(6) <strong>告警</strong>——阈值/异常触发告警(见告警设计题)。<strong>为什么'行数突变'最实用</strong>——(a) <strong>简单</strong>(一行代码);(b) <strong>灵敏</strong>(管道故障/上游变化通常先表现为行数异常);(c) <strong>低成本</strong>。<strong>'静默失败'的检测</strong>——(a) 任务成功但数据错(最难发现);(b) 对策——(i) 数据质量校验(而非只看任务状态);(ii) 分布对比(与历史);(iii) 对账(与权威源);(iv) <strong>下游影响监控</strong>(下游指标异常 → 回溯数据)。<strong>与其他问题的关系</strong>——(a) 与'数据漂移'(监控与漂移题);(b) 与'血缘'(定位影响);(c) 与'训练-服务一致性'。<strong>实践建议</strong>——(a) <strong>任务内断言</strong>(防错误数据流入);(b) <strong>行数 + 空值率 + 分布</strong>(三件套);(c) <strong>对账</strong>(关键数据);(d) <strong>告警</strong>(阈值 + 异常检测);(e) <strong>血缘</strong>(定位影响);(f) <strong>监控下游指标</strong>(发现静默失败)。<strong>度量</strong>——(a) 各维度的指标;(b) 数据质量事故数;(c) 发现时间(MTTD);(d) 下游影响。

🏭 Production Trade-offs

深度剖析与工程权衡:① <strong>'行数突变是最实用的检查'</strong>——简单、灵敏、低成本;面试中能指出是深度理解的标志。② <strong>'任务内断言'防错误数据流入下游</strong>——比事后监控更早。③ <strong>'静默失败'最难发现</strong>——需分布对比 + 对账 + 下游指标监控。④ <strong>'对账'用于关键数据</strong>——与权威源比对。⑤ <strong>'分布对比'检测漂移</strong>——PSI/KL 散度。⑥ <strong>面试要点</strong>——被问'数据质量怎么监控',应给出'<strong>六维度(完整性/准确性/一致性/及时性/唯一性/分布)+ 手段(断言/事后/分布对比/对账/告警)+ 静默失败的检测</strong>';能指出'行数突变'是深度理解的标志。
⚠️ Common Interview Pitfalls
  • ✕
    只看任务状态(静默失败无法发现)
  • ✕
    不做分布对比(漂移无法发现)
🎯 Interviewer Follow-ups
  • ?
    为什么'行数突变'是最实用的检查?
  • ?
    如何检测'静默失败'?
📚

Associated Knowledge Base Guides & Mindmaps

Explore the comprehensive technical article, exam cards, and global architecture tree.

← PreviousM8-019: Data Pipelines & Streaming: 解释批处理与流处理的差异与选型。📋Back to BankNext →M8-021: Data Pipelines & Streaming: 解释大规模去重的工程实现。