使用MaxCompute进行数据质量核查
1.任何数据都可以用来分析,正确的数据会为企业战略规划提供良好的数据支撑,错误的数据会无参考价值
2.数据质量管理不只包括对数据质量的改善,还包括对组织的改善,可以直接或间接(组织流程)提升数据质量。
3.数据质量影响因素:
需求过程引发的数据质量:
部分需求不明确或口径定义不明确,需求功能降低;
组织人员分工不明确,职能不完善,业务理解和角度不同
数据源引发的数据质量:
信息不正确:原系统某些信息无效或不正确,违反数据约束或业务规则
信息不完整:原系统某些信息缺失或没有填充,不影响正常运转但会影响数据仓库正常分析(如:客户的某些信息没有进行填写)
信息不一致:当一个信息来自多个原系统,会出现的信息差异(如:信息同步)
统计口径引发的数据质量:
不同原系统或不同业务部门,对相同名称的指标定义和口径不同(如:活跃用户,中高端用户,电商平台新增用户)
业务部门在描述口径时,存在不明确和不完善,造成了二义性
系统自身引发的数据质量:
(如:客户信息定义不一致,未进行标准化清洗;加工逻辑问题;流程和错误没有进行测试关联)
4.数据质量问题类型:
错误值:时间格式,客户姓名
重复值:订单(连续短单)
数据不一致:地域信息标准化,客户年龄(对精细化营销推送产生影响)
数据完整性:订单(产品信息变更或者不一致导致订单滞压或无法配送)
缺失值:正常数据(人为隐瞒原因,系统故障原因)
异常值:消费记录,接口文件(在规范要求时间内未完成)
5.MaxCompute特点:
分布式:分布式集群架构,集群规模可以根据用户灵活拓展
安全:所有数据计算在沙箱中进行,保证数据安全可靠(自动存储容错机制)
易用:标准API提供服务,高并发高吞吐量数据上传下载,全面支持基于SQL的数据处理
管理与授权:支持多用户管理协同分析数据,支持多种方式对用户权限管理,配置灵活数据访问策略
6.DataIDE功能点:
数据开发:
可视化的业务流程设计
代码类型编码和调试
自动补全代码
代码格式化
代码版本控制
多人协同开发
数据管理:
涵盖全链路数据血缘
数据计量
影响分析
支持元数据
异构数据
业务元数据
数据生命周期
数据资产
数据权限
作业调度:
多事件维度离线任务调度
在线运维
监控报警
支持超百万级的离线调度任务量
7.MaxCompute中总体数据加工流程:
数据产生——》数据开发DataIDE(数据收集及存储——》数据分析与处理——》数据提取)——》数据展示及分享
数据收集及存储:将数据收集到MaxCompute中存储进行分析,使用DataIDE任务开发模块中的"数据同步"组件,将数据从RDS同步到MaxCompute中
数据分析与处理:使用DataIDE任务开发模块中的"ODPS SQL"和"Open MR"组件进行处理
8.本地数据导入MaxCompute中,若数据文件大于10M,DataIDE无法实现,使用odps客户端命令进行加载
9.一次性数据处理可以用脚本开发
周期性调度可以用任务开发
10.在运维中心中可以查看任务,跑数情况,出错进行重调或修改代码,也可以追跑数据
11.DataIDE功能模块:数据集成,数据开发(任务开发,脚本开发,资源管理,函数管理,表查询),数据管理,运维中心,项目管理,机器学习平台
12.任务解决方案:
开通服务——》实验数据准备——》配置数据质量核查规则——》数据质量监管规则导入MaxCompute(DataIDE导入)——》通过MaxCompute实现数据质量监控——》配置MaxCompute程序调度——》配置调度邮件短信告警
13.DataIDE本地数据导入只支持.txt、.csv和.log文件类型
14. vDate=$[yyyy-mm-dd-1]
vDay=$[yyyymmdd-1]
datetime=$[yyyy-mm-dd]
hour=$[hh24:mi:ss]
15.函数名,类名,资源列表,描述,命名格式,参数说明
16.新建Python,Jar,Archive,File资源(本次上传,资源会同步上传至ODPS中)
17.任务运维包括:周期实例,手动实例,测试实例,补数据实例