【学习背景】
近期陆续有客户咨询公有云大数据的方案,对比了阿里云、腾讯云和华为云的产品,感觉阿里云的方案丰富性和资料的易用性方面都是做得最好的,而且有淘宝双十一的成功经验,决定好好学习一下阿里云大数据的方案。今天先从阿里云的课程《使用MaxCompute进行数据质量核查》开始。
【学习思路】
在阿里云上购买课程,参照实验课程进行操作。先模仿,再优化。
【实验背景】
ABC是一家销售公司,其客户可以通过网站下单订购该公司经营范围内的商品,并使用信用卡、银行卡、转账等方式付费。付费成功后,ABC公司会根据客户地址依据就近原则选择自己的货仓,指派合适的快递人员配送商品。
经过几年的经营,该公司积累了一批经营数据,他们依托阿里云大数据计算服务、大数据开发套件等搭建了一个企业级的数据平台,将历史数据以及每天产生的数据都同步到该平台上去。由于种种遗留问题,造成这些数据中存在一定的数据质量问题,为了能得到更准确的数据分析结果,使用MaxCompute技术去发现数据中的质量问题。
【实验目标】
根据具体的场景需求,实现如下的数据监控场景,并最终输出数据质量监控报告。
1、错误值:某些时间格式存在问题,导致数据库人员将部分时间字段设置成了字符串型。
监控场景:订单表内订单时间格式出错。
2、重复值:订单系统中部分记录关键信息重复(同样的人在同样的时间下了不同的订单),导致客户投诉。
监控场景:订单表同一客户同一时间下了多次订单。
3、数据不一致:地市信息名称未标准化,导致在数据分析时,未能把相同地域的数值汇总在一起。
监控场景:客户信息表省份信息异常。
4、数据完整性:配送的订单在订单表中不存在,导致物流人员空跑,效率下降。
监控场景:配送的订单在订单表中不存在。
5、缺失值:部分客户性别信息缺失,影响后续使用。
监控场景:客户信息表性别信息缺失。
6、异常值:单月购买次数异常(当月购买次数大于10次)
监控场景:同客户单月购买次数异常(当月购买次数大于10次)
【解决方案】
在这个实验课程中,核心步骤有3个。第1个是实验数据准备,第2个是配置数据质量的核查规则,第3个是通过maxcompute程序实现数据核查。前2个步骤是本课程已经提供的资源,对于学员来说,通过第3步的动手操作才能真正理解maxcompute的工作原理。
【操作步骤】
1、在阿里云官网购买课程《使用MaxCompute进行数据质量核查》,前6个课时是理论介绍,第7个课时是实验环节。本文重点总结实验环节的步骤。
课程链接:https://edu.aliyun.com/course/438?spm=5176.10731491.0.0.66e670d7smFkQM
2、先通读一遍实验课程里面的内容,大致了解了数据质量核查的基本流程。
3、分析测试数据集中各张表之间的逻辑关系。
4、在阿里云控制台中,找到maxcompute并开通,创建一个dataworks工作空间,然后进入数据开发。本文测试用户按需购买即可。
5、新建一个临时查询(实际上是执行SQL的窗口),依次创建前面的6个数据表。
对应的SQL语句如下:
----订单表
drop table if exists ODS_EBUSI_ORDERS;
creat