【学习背景】

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

 

【操作步骤】

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

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

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

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

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

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

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

手工插入一条订单

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';

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

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

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

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

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

 

【思考】

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

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

 

 

【遗留的课后作业】

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

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

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

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

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

 

 

 

 

.。。

相关文章:

  • 2022-12-23
  • 2021-05-11
  • 2021-07-16
  • 2021-07-01
  • 2021-04-19
猜你喜欢
  • 2021-10-24
  • 2021-05-26
  • 2021-06-01
  • 2021-12-02
  • 2021-10-28
  • 2021-08-04
  • 2022-12-23
相关资源
相似解决方案