一、数据质量管理问题
源端业务系统数据库 ---- > 数据仓库
中间有可能丢数据 : 100条(源端) 90条(数仓)
中间有可能多数据 : 90条(源端) 100条(数仓)
不丢数据 : 200条(源端) 200条(数仓)
二、数据质量管理
1、数据量的比对 select count(1) 90%的公司都是这么做的
2、数据内容 全字段 很难比对 几乎没有公司做
3、有少部分公司 是 做 抽查比对
4、根据业务周期性,做全量数据比对
5、每天定时凌晨一点做一次增量数据对比
6、复盘:每月做一次 当前时间减一个月的全量数据比对
三、数据质量管理解决方案
利用spark sql full join操作。
假设 testa是mysql ,testb是数据仓库
testa full join testb 结果作为t表。
结果数据展示如下:
aid aname address bid bname age
1 x1 sh 1 x1 10
2 x2 hz 2 x2 11
3 x3 [NULL] 3 x3 12
4 x4 bj 4 x4 16
5 x5 gz [NULL] [NULL] [NULL]
[NULL] [NULL] [NULL] 7 x7 19
[NULL] [NULL] [NULL] 8 x8 22
[NULL] [NULL] [NULL] 9 x9 24
[NULL] [NULL] [NULL] 10 x10 44
补数据: select * from t where bid is null 拿到a表字段的数据 拼接sql插入数据仓库
删数据: select * from t where aid is null --> bid --delete 语句
网友评论