首页/数据/数据工程与 ETL 速查/实时链路的数据质量校验
本包目录(311 条)

实时链路的数据质量校验

流式链路的校验在管道内完成:对每条记录做轻量检查(主键非空、金额非负、枚举合法),错误记录写入死信队列;重校验(跨表关联、全量比对)放到旁路批作业,避免拖慢实时链路。

流内旁路(Flink SQL 思路)

流内旁路(Flink SQL 思路)
-- 合法数据进主表
INSERT INTO orders_clean
SELECT * FROM orders_raw
WHERE order_id IS NOT NULL AND amount >= 0 AND status IN ('PAID','REFUND','CLOSED');

-- 非法数据进死信表
INSERT INTO orders_dlq
SELECT *, 'invalid' AS reason FROM orders_raw
WHERE NOT (order_id IS NOT NULL AND amount >= 0);
死信队列必须有消费方与告警:没有下游处理的 DLQ 只是另一个垃圾桶。

易错点

  • 实时链路做重校验(维表 join、全量比对),产生反压拖慢吞吐
  • DLQ 无监控无处理,错误率上升无人知晓

数据来源与参考

  • Apache Flink 官方文档(Flink SQL)
  • 行业流式数据质量实践
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌