跳转到内容

Data Pipeline Is Missing Records(数据管道丢记录)

知识库位置:FDE Knowledge Base/03 Engineering/Troubleshooting/Data-Pipeline-Is-Missing-Records.md

源系统中有 100,000 条记录,但下游只有 98,700 条。

源头就没有全部读取。

只读取第一页。

某些数据被意外过滤。

某类记录转换报错后被丢弃。

Duplicate Handling(去重处理错误)

Section titled “Duplicate Handling(去重处理错误)”

错误 Dedup(去重)导致正常记录被删除。

数据到达时间比 Pipeline(数据管道)预期晚。

CDC(Change Data Capture,变更数据捕获)Offset(偏移量)/ Cursor(游标)出错。

不要直接在最终表里找。

应该逐层计数:

Source(源系统)
100,000
↓
Extracted(已抽取)
99,800
↓
Parsed(已解析)
99,500
↓
Transformed(已转换)
99,000
↓
Loaded(已加载)
98,700

这样可以快速定位丢失发生在哪一步。

推荐建立:

Source Count(源计数)
vs
Destination Count(目标计数)

但 Count(计数)还不够。

更进一步:

Record IDs(记录 ID)
Hash(哈希)
Totals(合计)
Business Aggregates(业务聚合值)

例如财务场景:

Count matches(条数一致)

并不代表:

Total Amount matches(总金额一致)
  • 修复 Pagination(分页)
  • Dead Letter Queue(死信队列)
  • Failed Record Retry(失败记录重试)
  • Watermark / Offset 修正(水位线/偏移量修正)
  • Reprocessing(重新处理)
  • Idempotent Load(幂等加载)

Pipeline 应该持续监控:

  • Input Count(输入计数)
  • Output Count(输出计数)
  • Reject Count(拒绝计数)
  • Duplicate Count(重复计数)
  • Processing Lag(处理延迟)