大数据Clouder:使用MaxCompute进行数据质量核查
数据,数据质量,数据质量管理
MaxCompute,DataIDE
监控,监控报告
对数据的改善和管理,直接提升数据质量;
对组织的改善和管理,间接提升数据质量。
数据质量影响因素:①需求过程引发,②数据源引发,③统计口径引发,④系统自身引发。
数据质量问题类型:①错误值,②重复值,③数据不一致,④数据完整性,⑤缺失值,⑥异常值。
MaxCompute,大数据开发工具:
①DataIDE:可视化形式。
②Studio客户端,③odpscmd客户端:都是命令行形式。
数据产生:阿里云的RDS。
数据收集与存储:DataIDE数据同步组件,从RDS中同步到MaxCompute中。
数据分析与处理:DataIDE中的任务ODPS_SQL和OPEN_MR。
数据提取:DataIDE。
数据展现与分享:Quick BI。
注意:将本地数据上传导入到MaxCompute,如果数据文件大于10M,DataIDE就上传不了了,这时就需要使用odpscmd客户端提供的Tunnel命令方式进行上传。
Tunnel命令操作 :https://help.aliyun.com/document_detail/27833.html?spm=5176.11065259.1996646101.searchclickresult.6de53dbcRY6DwC
DataIDE:数据开发(任务开发,脚本开发),运维中心(任务列表,任务运维,报警)。
任务开发:需要周期调度的,加工逻辑复杂的,需要多个步骤进行数据处理的。注意:任务开发中的调度任务生成实例的时间。
脚本开发:一次性的,临时数据操作,比如:建个表,插入个数据等 。
任务解决方案:开通MC服务并搭建开发环境,实验数据准备,配置数据质量核查规则,数据质量监控规则导入MC,通过MC实现数据质量监控,配置MC程序调度,配置程序调度邮件、短信告警。
查看监控报告。
对应的沙箱实验笔记
网址:https://edu.aliyun.com/lab/courses/1fb17df91d3648c781c30cd877bcaeb8/detail?purchaseRecordId=f0f34cd5a0fc48829231e8006960644b
实验环境:DataWorks->项目->进入工作区->IDE页面。
实验步骤:
1、数据准备上传到MC中:建表“ODS_EBUSI_xxx”->导入本地数据,上传数据到MaxCompute中。
注意:首行为标题,默认为是。
查询语句:
select * from ODS_EBUSI_xxx;
select count(*) from ODS_EBUSI_xxx;
2、编写数据监控规则:写入到excel或txt中。注意:要保证txt文件为utf8格式。
(1)规则模板对应的各类内容:
①核查规则类型名称:监控类别编码对应的监控规则名称(1:错误值;2:重复值;3:数据不一致;4:数据完整性;5:缺失值;6:异常值)。
②状态:1:本条监控规则有效;0:本条监控规则已失效,或不再进行监控。
(2)监控场景:
①订单表内订单时间格式出错。
②订单表同一客户同一时间下了多次订单。
③客户信息表省份信息异常。
④配送的订单在订单表中不存在。
⑤客户信息表性别信息缺失。
⑥同客户单月购买次数异常(当月购买次数大于10次)。
注意:在MaxCompute控制台中导入一个txt文件,要保证txt文件为utf8格式,如果不是,可以用记事本打开文件,单击另存为,将其保存为utf8格式。
https://help.aliyun.com/knowledge_detail/40360.html?spm=5176.11065259.1996646101.searchclickresult.242b49d5HssL3O
3、将监控规则导入到MC中:建表“ODS_DATA_CHECK_RULE”->导入监控规则excel或txt文件。注意:分隔符配置。查询语句:
select * from ODS_DATA_CHECK_RULE;
select count(*) from ODS_DATA_CHECK_RULE;
4、数据质量监控:
①建表“DWD_DATA_CHECK_REPORT”->用于保存最终的监控报告。
②新建任务->任务类型:工作流任务,名称:DATA_CHECK_数据质量监控,调度类型:周期调度。
③选择节点组件->在编辑页面写入sql,并配置好参数,保存后返回。
虚节点:从左侧节点组件中,拖取一个虚节点至右侧空白处,命名:程序开始,执行结束。
ODPS_SQL:将左侧ODPS_SQL控件,拖至右侧空白处,命名。双击该节点组件,进入编辑界面,写入建表sql语句,配置参数,保存后返回。注意:此时不需要点击运行。
④按照顺序,将各个执行空间连接起来。所有连接完成后,点击保存,点击提交,确定提交。
⑤测试运行->点击测试运行,填写实例名称和业务日期,点击运行,点击前往运维中心,进行监控。
⑥查看最终的监控报告内容,查看语句:注意:分区表查询。
set odps.sql.allow.fullscan=true;
select * from dwd_data_check_report;
set odps.sql.allow.fullscan=true;
select CHECK_RULE_ID,CHECK_RULE_NAME,CHECK_RULE_OWNER,WARNING_CONTENT from DWD_DATA_CHECK_REPORT;
5、配置MC调度:点击调度配置->基本属性,调度属性,依赖属性,跨周期依赖->配置完成。运维中心查看->周期任务,周期实例。
注意:配置完成后,第二天调度才会生效。在23:30之后提交成功的任务,从第三天开始才会生成实例。
6、配置邮件和短信告警:运维中心->报警设置->新建报警->选择任务、报警原因、报警方式、接收人。