使用MaxCompute进行数据质量核查(理论篇)
课程目标
1.影响数据质量的因素、数据质量问题类型
2.了解MaxCompute(DataIDE)产品
3.通过DataIDE设计数据质量监控流程
4.独立解决常见的数据质量监控要求
目录
- 数据质量相关概念
- 数据质量影响因素
- 数据质量问题类型
- MaxCompute、DataIDE介绍
- 电商数据分析平台数据质量核查
课时1:数据质量基本介绍
什么是数据质量
数据质量顾名思义就是数据的质量
数据质量是数据分析结论有效性和准确性的基础,也是最重要的前提和保障
数据质量是数据分析应用的基础,为了获得可靠的数据,企业必须密切关切数据质量,数据质量将直接影响系统应用成功的关键
什么是数据质量管理
数据质量管理,是指对数据从计划、获取、存储、共享、维护、应用、消亡生命周期的每个阶段里可能引发的各类数据质量问题,进行识别、度量、监控等一系列管理活动
数据质量管理,不仅包含了对数据质量的改善,同时还包含了对组织的改善。针对数据的改善和管理,主要包括数据分析、数据评估、数据清洗、数据监控、错误预警等内容。针对组织的改善和管理,主要包括确立组织数据质量改进目标、评估组织流程、制定组织流程改善计划、制定组织监督审核机制、实施改进、评估改善效果等环节
为什么要进行数据质量管理
(1)企业的数据质量与业务绩效之间存在直接联系,高质量的数据可以使公司保持竞争力,并在经济动荡时期立于不败之地
(2)大数据时代,如果没有良好的数据质量,大数据将会对决策产生误导,甚至产生不可估量的结果
(3)目前,分析系统中的数据流转和处理环节越来越多,数据管理越来越复杂,数据质量出错的环节也就越显增多
(4)为了保证数据更好的为公司及企业的战略提供正确、有力的支撑,就必须要保证数据质量的准确,进而必须要进行严格的数据质量监控,以保证数据的可靠性、高质量
课时2:数据质量影响因素
因素一:需求过程引发
(1)需求过程引发的问题主要是指需求设计、开发、测试、上线等过程引发的数据质量问题
(2)此类问题的原因主要是因为需求过程中的管理机制和流程不健全导致
因素二:数据源引发
(1)数据源引发的问题是指由于上游数据源不完善或不规范,导致下游系统受影响,出现数据质量问题
(2)数据源引发的数据质量问题是分析系统质量问题的主要来源,主要体现在如下几个方面:
- 信息不正确
- 信息不完善
-
信息不一致
因素三:统计口径引发
(1)统计口径引发的问题主要指KPI、报表等指标口径中存在的数据质量问题,包括指标准确性、一致性及完整性问题等
(2)此类问题产生的原因主要有以下情况:
- 不同源系统或不同业务部门,对相同名称的指标定义和口径不同,造成最终的指标统计结果出现差异
-
业务部门在描述或定义指标口径时,存在许多不明确和不完善的地方,造成了指标口径的二义性
因素四:系统自身
系统自身问题主要是指系统的开发建设、日常运营和维护过程中引发的数据质量问题,比如数据模型质量问题、系统升级数据丢失问题、ETL数据清洗不够彻底带来的问题以及数据仓库流程调度等问题,原因主要有:
- 数据仓库的建设过程中,由于缺乏规范化、体系化的建设思路,造成系统架构、数据模型、处理流程等不够优化和合理,从而带来数据质量问题
- 在系统运营中,由于普遍缺乏完善的日常管理和维护流程,在处理监控数据时,没有可依据和规范的处理手段,导致操作出现失误或遗漏,造成数据质量问题
课时3:数据质量问题类型
错误值
由于字段类型与实际存放数据差异,或录入信息出错导致的数据错误
重复值
数据记录中存在完全一样的重复记录,或从业务上理解不可能存在的关键信息出现重复记录
数据不一致
数据记录是否符合规范,是否与前后及其他数据集合保持统一。数据的一致性主要包括数据记录的规范和数据逻辑的一致性
数据完整性
数据的记录和信息是否完整,是否存在缺失的情况
缺失值
(1)正常数据信息记录中,存在信息缺失的情况
(2)数据的缺失主要有记录的缺失和记录中某个字段的缺失,两者都会造成统计结果的不准确,完整性是数据质量最基本的保障
异常值
数据记录中出现明显的数据偏差或者数据错误的记录
课时4:阿里云相关产品介绍
MaxCompute简介
大数据计算服务(MaxCompute,原ODPS)由阿里云自主研发,提供针对TB/PB级数据、实时要求不高的分布式处理能力,应用于数据分析、挖掘、商业智能等领域。阿里巴巴的数据业务部都运行在ODPS上。
特点
-
分布式
采用分布式集群架构,跨集群技术突破,集群规模可以根据需要灵活扩展 -
安全
自动存储容错机制,所有计算在沙箱中运行,保障数据高安全性、高可靠性 -
易用
标准API方式提供服务,高并发高吞吐量数据上传下载全面支持基于SQL的数据处理 - *管理与授权
支持多用户管理协同分析数据,支持多种方式对用户进行管理配置灵活的数据访问控制策略
数据开发Data IDE简介
大数据开发集成环境(Data IDE),提供可视化开发界面、离线任务调度运维、快速数据集成、多人协同工作等功能,为您提供一个高效、安全的离线数据开发环境。并拥有强大的Open API为数据应用开发者提供良好的再创作生态
数据开发
- 可视化的业务流程设计器
- 代码类型编码和调试
- 自动补全代码
- 代码格式化
- 代码版本管理
- 多人协同开发等功能
数据管理
- 涵盖全链路数据血缘
- 数据计量
- 影响分析
- 支持元数据
- 异构数据
- 业务元数据
- 数据生命周期
- 数据资产
- 数据权限等管理
作业调度
- 多时间维度的离线任务调度
- 在线运维
- 监控报警
- 支持超过百万级别的离线调度任务量
数据开发常见场景
(1)将业务系统生产的数据轻松上云,构建大型数据仓库和BI应用,利用ODPS强大的海量存储和数据处理能力
(2)基于数据开发快速使用和分析数据,将大数据加工结果导出后直接应用于业务系统,实现数据化运营
(3)针对作业调度和运维复杂性,数据开发提供统一友好的调度系统和可视化调度运维界面,解决运维管理不便的问题
Data IDE操作界面
MaxCompute除了提供MaxCompute Studio客户端、odpscmd客户端进行开发外,还提供了一种更为方便的操作界面DataIDE,DataIDE包含可视化的工作流界面及周期性任务调度、监控报警等,一方面降低用户使用ODPS的使用成本,一方面可以使用ODPS 强大的数据处理能力构建大数据云数仓。
Data IDE总体使用流程
Data IDE开发操作
通过Data IDE实现数据质量监控,首先使用PC登录阿里云网页,在控制台里,选择大数据开发套件功能模块,选择对应的项目,进行开发操作。Data IDE主要包括数据集成、数据开发、数据管理、运维中心、项目管理、机器学习平台等功能模块,此次数据质量核查主要涉及数据开发、运维中心两大模块
-
数据开发页面是根据业务需求,设计数据计算流程,并实现为多个相互依赖的任务,供调度系统自动执行的主要操作界面
(1)任务开发,包含周期属性和依赖关系,是数据计算的主要载体,支持多种类型的任务和节点适应不同场景
(2)脚本开发是对周期任务的补充,通常用于辅助数据开发过程,主要用于实现非周期的临时数据处理,如临时表的增删改等,因此不包含周期属性和依赖关系
(3)在大数据开发套件中,当一个任务被成功提交后,底层的调度系统从第二天开始,将会每天按照该任务的时间属性生成实例,并根据上游依赖的实例运行结果和时间点运行。23:30之后提交的任务从第三天开始才会生成实例 - 运维中心是日常维护的主要工具,可对已提交的工作流及其节点任务进行管理与维护,同时也可针对节点来添加监控报警。主要分为运维概览、任务管理、任务运维和监控报警四个模块
课时5:阿里云相关产品基本操作演示
详细步骤见实验课
课时6:电商数据分析平台数据质量核查
任务背景
ABC是一家销售公司,其客户可以通过网站下单订购该公司经营范围内的商品,应使用信用卡、银行卡、转账等方式付费。付费成功后,ABC公司会根据客户的地址依据就近原则选择自己的货仓,指派合适的快递人员送商品。
经过几年的经营,该公司积累了一批经营数据,他们依托于阿里云大数据计算服务、大数据开发套件等搭建了一个企业级的数据平台,将历史数据以及每天产生的数据都同步到该平台上去。由于种种遗留问题,造成这些数据存在一定的数据质量问题,为了能够获得更准确的数据分析结果,数据分析师希望你这个刚入职的助理大数据工程师能合理的使用你掌握的MaxCompute的技术,去帮他们发现数据中的质量问题。
任务涉及业务数据
此次数据质量监控实验,主要设计如下业务表:
(1)订单表:保存客户订购产品所生产的订单信息
(2)客户表:保存客户姓名地址信息
(3)配送表:保存配送员与订单的对应信息
(4)产品表:保存产品相关信息
(5)省份表:保存省份信息
(6)城市表:保存城市信息
任务目标
此次数据质量监控,主要对相关业务数据实现如下几种监控规则,并输入数据质量监控报告。
-
错误值
订单表某些数据格式存在问题,导致数据库人员将部分字段设置成了字符串型 -
重复值
订单系统中部分记录关键信息重复(同样的人在同样的时间下了不同的订单),导致客户投诉 -
数据不一致
城市信息名称未标准化,导致在数据分析时,未能吧相同地域的数据汇总在一起 -
数据完整性
配送的订单在订单表中不存在,导致物流人员空跑,效率下降 -
缺失值
部分客户性别信息缺失,影响后续使用 -
异常值
单月购买次数异常(单月购买次数大于10次)