需求场景如下:
上游mysql数据库每天经过sqoop导入hive中的分区表,在导入过程中sqoop偶尔会产生error等问题,导致下游数据与上游数据产生偏差,现在需要方法校验数据,以及对数据进行重跑,考虑过后决定使用重刷的方式进行处理
数据质量校验
1.先使用count进行数量上的校验,当上下游相同批次数据条数相同时则无需进行处理
2.当上下游数据量不同时 对下游数据进行重刷
数据重刷
spark通过读取上下游相同批次的两个数据集求full outer join来对比对应字段的null值
以下给出模拟数据集合
上游数据集A
id
1 data1 .....
2 data2 .....
3 data3 .....
4</