【数据工场dataworks-2】数据开发之核查出新增的错误数据

版权声明:Powered by 小超超 https://blog.csdn.net/qq_39295735/article/details/88905012

【学习背景】

上一节课参考阿里云的课程《使用MaxCompute进行数据质量核查》把所有操作执行了一遍,遗留了一项课后作业:手工向订单表插入一条错误的数据,执行分析流程,确认结果表是否多了一条记录。目的是掌握dataworks的SQL语句用法和验证这种方法进行实时数据分析的可行性。

 

【操作步骤】

1、通过阿里云官网了解dataworks的SQL插入语句的用法,见帮助文档:

https://help.aliyun.com/document_detail/74598.html

从帮助文档看到,创建表和插入数据是标准的SQL语句。

2、分析订单表的检查规则和订单表已有的数据,设计一条有问题的数据出来。

分析订单表中的数据,我们可以构造同一个客户(customer_id是2044),在同一时间(order_time 20170504 14:21:42)的订单

手工插入一条订单

insert into ods_ebusi_orders VALUES (303, 2044, 12, 6, 4890.24, 1, '20170504 14:21:41');
select * from ods_ebusi_orders where customer_id = '2044';

3、重新执行分析流程,成功。

4、检查分析结果,确认新增的错误记录已经被识别出来了(仅从dt分区看到本次测试有新增结果,但是未达到本人的预期,哪些新增的数据有问题)。目前教程中的SQL代码中只统计了一个表是否有错误,但是并没有将有错误的行数给记录下来,导致无法进一步锁定错误位置来修正。

 

【思考】

1、对于实时数据的分析,可以定时任务+时间范围来进行数据核查。比如每隔10分钟检查前10分钟内的数据是否正常。

2、阿里云上这个课程写得过程很复杂,但是怎么检查结果,又没有写清楚。

 

 

【遗留的课后作业】

我重新设计一下这个课程,尽量简单易懂。

1、只需检查一个数据表有无数据异常即可。教程中检查了6个表,增加了学员的重复工作。

2、在结果表中,将有问题的数据标记出来,比如订单号(主键保证了唯一性)

3、检查出异常结果后,触发邮件报警。

4、周期性检查新增数据,达到实时分析的效果。

 

 

 

 

.。。

猜你喜欢

转载自blog.csdn.net/qq_39295735/article/details/88905012
今日推荐