第1章 数据质量管理概述
1.1 数据质量管理定义
数据质量管理(Data Quality Management),是指对数据从计划、获取、存储、共享、维护、应用、消亡生命周期的每个阶段里可能引发的各类数据质量问题,进行识别、度量、监控、预警等一系列管理活动,并通过改善和提高组织的管理水平使得数据质量获得进一步提高。
数据质量管理是循环管理过程,其终极目标是通过可靠的数据提升数据在使用中的价值,并最终为企业赢得经济效益。
1.2 数据质量评价指标
数据质量管理的最终目标是改善,任何改善都是建立在评价的基础上。通常数据质量的评价标准包括以下内容。
评价标准 |
描述 |
监控项 |
唯一性 |
指主键保持唯一 |
字段唯一性检查 |
完整性 |
主要包括记录缺失和字段值缺失等方面 |
字段枚举值检查 |
字段记录数检查 |
||
字段空值检查 |
||
精确度 |
数据生成的正确性,数据在整个链路流转的正确性 |
波动阀值检查 |
合法性 |
主要包括格式、类型、域值的合法性 |
字段日期格式检查 |
字段长度检查 |
||
字段值域检查 |
||
时效性 |
主要包括数据处理的时效性 |
批处理是否按时完成 |
第2章 数据质量管理实操
2.1 需求分析
我们的数仓项目主要监控以下数据的指标:
ODS层数据量,每日环比和每周同比变化不能超过一定范围
DIM层不能出现id空值,重复值;
DWD层不能出现id空值,重复值;
在每层中任意挑选一张表作为示例。
表 |
检查项目 |
依据 |
异常值下限 |
异常值上限 |
ods_order_info |
同比增长 |
数据总量 |
-10% |
10% |
环比增长 |
数据总量 |
-10% |
50% |
|
值域检查 |
final_amount |
0 |
100 |
|
dwd_order_info |
空值检查 |
id |
0 |
10 |
重复值检查 |
id |
0 |
5 |
|
dim_user_info |
空值检查 |
id |
0 |
10 |
重复值检查 |
id |
0 |
5 |
2.2 功能模块
2.3 开发环境准备
2.3.1 Python开发环境准备
本文使用Python和Shell脚本实现数据质量监控的各项功能,故需先搭建相应的开发环境,Python开发可选择IDEA(需安装Python插件),或PyCharm等工具,本文使用IDEA作为开发工具。
1. 安装Python插件
(1)在IDEA中点击“File”,在下拉选择中点击“Settings…”
(2)点击“Plugins”,点击右上角的“Marketplace”,然后在搜索框中输入“python”,在搜索结果列表中找到Python插件,点击“Install”,安装插件。
2. 新建一个Python项目
(1)点击Idea中的“File”,在下列列表中点击“New”,在右侧弹出的列表中点击“Project…”
(2)在新建的工程中,点击“Python”,然后点击Next
(3)首次创建Python项目,会提示无Python SDK,此处选择Yes,后续再添加SDK。
(4)填写项目名称和项目路径等基本信息,点击Finish
(5)添加Python SDK
为了保证测试和运行的Python环境一致,我们配置项目采用远程集群的Python环境执行本地代码,以下为具体配置步骤。