一 前言
在本系列文章中,我们会介绍如何从0到1做DQC。
数据可能由于很多原因而出现错误,比如数据重复,schema变动等。DQC是我们保证数据准确性的第一道防线。好的DQC应当在观察到数据出现问题时,能够自动进行报警,进而通知相关人员进行修复。
DQC有五个方面:
- Freshness:我的数据是最新的吗? 我的数据是否存在滞后的情况?
- Distribution:在字段这个级别上,我的数据是准确的吗?每个字段的值的范围是否都符合预期?
- Volume:我的收集到的数据是否有缺失?
- Schema:数据的schema是否发生了变更?
- Lineage:数据流的依赖是什么样子?如果数据发生了错误,那么会影响哪些上下游?
在技术方面有一句名言,TALK IS CHEAP, SHOW ME CODE。那我们话不多说,开始操作吧。
二 实操
我们使用了一个天文数据集来进行演示。这个数据集用Python生成,生成的过程中,模拟了在生产环境中遇到的各种数据问题。
数据库方面我们使用了SQLite 3.32.3。