电商分析平台数据质量核查| 学习笔记

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 快速学习电商分析平台数据质量核查

开发者学堂课程【场景实践 - 使用 MaxCompute 进行数据质量核查电商分析平台数据质量核查】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/520/detail/7042


电商分析平台数据质量核查


内容介绍:

一、任务背景

二、任务涉及业务数据

三、任务目标

四、任务解决方案

五、效果-监控报告

六、任务&思考

 

一、任务背景

ABC 是一家销售公司,其客户可以通过网站下单订购该公司经营范围内的商品,并使用信用卡、银行卡、转账等方式付费。付费成功后,ABC公司会根据客户地址依据就近原则选择自己的货仓,指派合适的快递人员配送商品。

经过几年的经营,该公司积累了一批经营数据,他们依托于阿里云大数据计算服务、大数据开发套件等搭建了一个企业级的数据平台,将历史数据以及每天产生的数据都同步到该平台上去。由于种种遗留问题,造成这些数据中存在一定的数据质量问题,为了能得到更准确的数据分析结果,数据分析师希望你这个刚入职的助理大数据工程师能合理的使用你掌握的MaxCompute的技术,去帮他们发现数据中的质量问题。


二、任务涉及业务数据

此次的数据质量监控实验,主要涉及如下业务表。

1、订单表:保存客户订购产品所产生的订单信息;

2、客户表:保存客户的姓名、地址信息;

3、配送表:保存配送员与订单的对应信息;

4、产品表:保存产品相关信息;

5、省份表:保存省份信息;

6、城市表:保存城市信息。

image.png

图中,能看出来订单表和配送表之间由相关的订单号关联,订单表与产品表之间是由产品编码关联,订单表与客户表之间通过客户编码关联,客户表和省份表通过省份编码关联,客户表与城市表通过城市编码来关联。

 

三、任务目标

此次数据质量监控,主要对相关业务数据实现如下几种监控规则,并输出数据质量监控报告。

错误值:订单表某些时间格式存在问题,导致数据库人员将部分时间字段设置成了字符串型

重复值:订单系统中部分记录关键信息重复(同样的人在同样的时间下了不同的订单),导致客户投诉

数据不一致:地市信息名称未标准化,导致在数据分析时,未能把相同地域的数值汇总在一起

数据完整性:配送的订单在订单表中不存在,导致物流人员空跑,效率下降

缺失值:部分客户性别信息缺失,影响后续使用

异常值:单月购买次数异常(当月购买次数大于10次)


四、任务解决方案

1、开通 MaxCompute 服务并搭建开发环境

这个主要是针对第一次使用阿里云产品的新用户,如果是老用户,已经开通了相关的服务,直接登录系统进入相关的项目,然后进行后续的操作就行。

2、实验数据准备

需要把相关的实验数据在各个项目里建表,然后把数据导到库表里,做好数据质量准备。

3、配置数据质量核查规则

可以找一个比较普通的数据质量核查规则模板。例如,本次实验准备的是一个简单的模板,配置核查规则、编码名称、负责人联系方式、告警内容等。有了核查规则模板之后,根据数据质量问题相关概念,以及本次实验的相关目的,把实验的数据质量核查规则配置导到模板里面。

4、数据质量监控规则导入 MaxCompute

通过 Data IDE 工具导入到 odps 里。

5、通过 MaxCompute 实现数据质量监控

这一步就是将上面梳理好的数据质量监控规则,用代码的方式来实现,主要通过对Data IDE任务开发、脚本开发这两个模块来实现的。

6、配置 MaxCompute 程序调度

这里是将前面内部完成的任务配置成周期性的任务,这样就能周期性的、持续性的进行数据量监控。

7、配置程序调度邮件、短信告警

这里的邮件短信告警主要就是针对程序级别的,就是配置。如果程序在运行的过程中出现了错误,再进行告警,指定相关负责人,让其对程序进行修改,然后重新调入程序。

 

五、效果-监控报告

最终我们可以捕获到的数据质量监控信息如下

image.png

比如,哪条监控规则告警、告警的负责人、具体的告警内容等。

 

六、任务&思考

1、任务:根据新提供的数据集及实体关系。分析如下场景中可能出现的数据质量问题,并使用 MaxCompute 技术完成相关场景的数据质量核查:

用户通过业务平台系统进行商品购买,允许用户在同一个订单内购买多种商品,用户每下一次订单就在订单表中增加一条记录,由于网络延迟或系统界面操作有误,可能会在系统内产生多条记录。用户下单后1小时之内,仍未进行付款操作,订单状态变更为取消,由于系统bug可能存在以及付款但是订单状态是取消的相关记录。用户进行付款的同时,可能参加某种抽奖或者优惠活动,减免部分费用。用户支付完成后,生成配送单,结果发现配送员小张和小李分配了同一个订单,而且订单配送商品信息一致,偶尔由于系统原因会出现用户下完单、付完款后没有安排配送的情况。

2、思考:思考并实现如何实现数据质量邮件、短信告警?

目前我们已实现了程序的调度配置,并对周期性执行的程序调度,增加了邮件、短信告警,此种告警主要是针对程序执行的一种监控,考虑是否可增加数据质量监控的邮件、短信告警,即如果发现数据质量监控规则报错,则进行邮件、短信告警,请思考此种告警是否可通过 MaxComputeDatalDE)来实现,如何实现。

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
Kubernetes 应用服务中间件 nginx
k8s ingress不生效的bug 解决了。
k8s ingress不生效的bug 解决了。
636 0
|
存储 算法 关系型数据库
InnoDb行格式、数据页结构、索引底层原理和如何建立索引
InnoDb行格式、数据页结构、索引底层原理和如何建立索引
331 0
|
2月前
|
消息中间件 人工智能 Java
抖音微信爆款小游戏大全:免费休闲/竞技/益智/PHP+Java全筏开源开发
本文基于2025年最新行业数据,深入解析抖音/微信爆款小游戏的开发逻辑,重点讲解PHP+Java双引擎架构实战,涵盖技术选型、架构设计、性能优化与开源生态,提供完整开源工具链,助力开发者从理论到落地打造高留存、高并发的小游戏产品。
|
Linux Android开发 编解码
VLC播放RTSP视频延迟问题
之前写过一篇关于在Linux平台上编译Android平台上VLC播放器源代码的文章,vlc这款播放器非常优秀而且是开源的,它的核心是开源视频编解码库ffmpeg。而且这款播放器还支持RTSP协议,这个主要是用开源的live555来实现的,live555这个库以后还需要认真研习。
5699 0
|
人工智能 供应链 安全
探索区块链技术在智能合约中的应用
本文将深入探讨区块链技术与智能合约的融合,解析其如何革新传统合约执行方式,提高交易效率和安全性。文章首先介绍区块链和智能合约的基本概念,随后详细分析智能合约的技术优势以及面临的挑战,并通过案例分析展示其在多个行业中的应用实践,最后展望智能合约的未来发展趋势。
|
Python
在Python中实现图片转字符画灰度处理或灰色量化
在Python中实现图片转字符画灰度处理或灰色量化
313 1
el-table 取消鼠标移入时变色
el-table 取消鼠标移入时变色
402 0
|
人工智能 供应链 Oracle
从概念到颠覆:ERP系统的历史演变与发展
从概念到颠覆:ERP系统的历史演变与发展
1971 0
|
Linux Perl
linux ps命令,查看某进程cpu和内存占用率情况, linux ps命令,查看进程cpu和内存占用率排序。 不指定
背景:有时需要单看某个进程的CPU及占用情况,有时需要看整体进程的一个占用情况。一、 linux ps命令,查看某进程cpu和内存占用率情况[root@test vhost]# ps auxUSER       PID  %CPU    %MEM    VSZ   RSS TTY      STAT...
5184 0