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