数据治理系列:一个数据质量监控系统的自我修养

您所在的位置:网站首页 质量监控的内容有哪些方面 数据治理系列:一个数据质量监控系统的自我修养

数据治理系列:一个数据质量监控系统的自我修养

2024-07-11 22:15| 来源: 网络整理| 查看: 265

目录

背景数据治理数据质量管理数据质量监控系统设计实现总体介绍功能 设计实现系统框架图程序执行流程图表结构设计监控规则指标详解表结构变更动态感知数据质量报告总结

背景

随着大数据时代的到来,伴随着是“海纳百川、有容乃大”种类繁多的海量数据爆炸式增长;有“天下武功,为快不破”惊人的数据处理速度;可挖掘“运筹帷幄胜千里之外”支持决策的数据价值。同时,信息社会不断向纵深发展,数据和信息作为战略性资源的价值正在快速提升。当前,数据的战略价值已得到广泛重视,数据治理能力也成为了衡量一个企业、行业、乃至一个地区的经济社会发展水平的重要指标。

2001年,管理大师汤姆·彼得斯:

一个组织如果没有认识到管理数据和信息如同管理有形资产一样极其重要,那么它在新经济时代将无法生存。

2017年,《经济学人》5月封面文章指出:

数据是未来的石油。

一种新的大宗商品正在一个利润丰厚、增长迅猛的行业中酝酿,反垄断监管者也开始着手限制那些有能力控制这种商品的人。如果是在一个世纪前,这种商品就是石油。而现在,引发巨头们争相抢夺的变成了数据,也就是数字时代的石油。

2019年G20峰会,安倍内阁总理大臣在世界经济论坛年会上的演讲指出:

希望今年的G20峰会成为全球数据治理的起点,为大家长久记忆。聚焦数据治理的峰会,我们不妨先将其命名为大阪轨道,在世界贸易组织(WTO)就此开始进行讨论。

数据治理

数据治理定义很多版本,这里给出了DAMA国际数据管理协会对数据治理定义。

数据治理是对数据资产的管理活动行使权力和控制的活动集合(规划、监控和执行) ——DAMA 国际数据管理协会

数据治理是一个大而全的治理体系。需要数据质量管理、元数据管理、主数据管理、模型管理管理、数据价值管理、数据共享管理和数据安全管理等等模块是一个活的有机体,绝不是一蹴而就的,需要全局考虑。

数据治理的理论体系,这里不是本篇文章的重点,也不做过多介绍。总之,数据治理非常重要,重要到什么程度,此处省略10000字,因为本篇文章重点讲数据数据质量管理系统实现。

数据质量管理

早在 1957 年的时候,计算机刚刚发明的时候,大家就意识到数据对于计算机决策的影响,提出 Garbage In Garbage Out5的警示。2001 年,美国公布《数据质量法案(Data Quality Act)》,提出提升数据质量的指导意见。2018 年,中国银行保险监督管理委员会发布《银行业金融机构数据治理指引》,强调高质量的数据在发挥数据价值中的重要性。

数据质量是保证数据应用效果的基础。数据质量是描述数据价值含量的指标,如同矿石的含金量,数据质量的好坏决定着数据价值的高低。

制定数据标准,从定义表命名规范,字段命名规范,数据类型,备注Comment术语描述规范,指标命名规范,指标口径定义等方面制定规范。

事前数据开发人员的提高保证数据质量意识,在ETL或ELT数据采集、转换、加载过程中,需要数据进行清洗,保证数据高质量产出。事中通过建立一套切实可行的数据质量监控体系,设计数据质量稽核规则,加强从数据源头控制数据质量,形成覆盖数据全生命周期的数据质量管理。事后出现数据质量问题,清晰定位数据技术责任人,进行整改迭代,保证数据质量管理形成一个良性循环,实现数据向优质资产的转变。

数据质量监控系统设计实现

总体介绍

此数据质量监控系统是基于Spark计算引擎,通过界面配置对Hive数据仓库各层表,离线批数据质量监控系统(流式数据质量监模块近期实现后再做分享)。用户可通过前端界面选择哪个数据源(哪个集群),数据库、表或表中字段、配置监控规则,存放到Mysql库(下文有表结构设计),程序通过规则大类,监控规则等元数据信息,动态生成SQL片段集合,在进行优化组合,尽量减少对表读取次数,将执行结果存放监控结果表。调度根据当前任务执行结果判断是否熔断告警。再根据执行结果形成数据质量报告。

功能

丰富可扩展数据质量监控规则库自定义数据质量监控规则及语法检查任务熔断、电话、短信、邮件多级告警清晰定位质量问题业务和技术数据Owner数据质量问题汇总与明细展示监控对象表结构变更动态感知数据质量问题订阅

设计实现

系统框架图

数据质量监控执行流程图

表结构设计

1、监控任务与监控对象表的对应关系表

说明:

source_id:制定对哪个集群数据进行质量监控databaseName:指定数据库名称table_name:指定表名称 owner:数据owner,表创建人,是从HiveMeta元数据中取得

2、监控规则配置表

说明:

task_id:即上一张表id,调度时使用 databaseName:指定数据库名称 table_name: 指定表名称part_flag: 是否为分区表标志part_format: 分区格式task_desc: 用户对此条监控规则的描述rule_name: 监控规则大分类,如有效性、唯一性、准确性等等term:具体的监控指标名称field_name: 监控字段,如果是表级别,则填写“表级规则”或自定义SQL规则warn_grad:告警级别 1:熔断电话告警;2:电话告警;3:邮件告警等等 rule_logic_monitor:监控规则,需要配置逻辑信息,是个json字符串,程序执行对对json的key进行解析 data_owner: 数据owner is_usable: 此条监控规则是否可用,前端配置人员可停启规则

3、监控规则库表

说明:

rule_name: 监控规则大分类,如有效性、唯一性、准确性等等rule_desc: 规则大类的说明 term:具体的监控指标名称term_desc: 规则说明logic_remark: 监控规则的详细说明 term_level: 规则级别,字段级别、表级别或自定义SQL规则 is_useDefine: 是否为自定义规则 datatype_scope: 此条监控规则的是否范围,比如:同环比波动监测,只能数值型字段 stats: 状态,是否可用

4、监控规则元数据表

说明:

rule_name: 监控规则大分类,如有效性、唯一性、准确性等等term:具体的监控指标名称param_name: 参数名称,为rule_logic_monitor监控规则,需要配置逻辑信息,是个json字符串,程序执行对对json的key进行解析param_desc: 界面展示value_type: 界面输入框还是下拉框等说明constrints: 界面输入框输入内容限制,正则表达式param_weight: 界面参数展示顺序

5、监控结果表

说明:

task_id:任务iduuid: 调用的批次databaseName:指定数据库名称table_name: 指定表名称rule_name: 监控规则大分类,如有效性、唯一性、准确性等等term:具体的监控指标名称 field_name: 监控字段,如果是表级别,则填写“表级规则”或自定义SQL规则term_value:监控结果值 result_code:结果返回码,配合告警级别一起使用warn_grad:告警级别 1:熔断电话告警;2:电话告警;3:邮件告警等等data_owner: 数据ownerstats_date: 统计日期

6、监测结果码表

说明:

对监控结果表的term_value结果值说明

规则指标

数据质量监控指标从有效性、唯一性、完整性、准确性、一致性、有效性、时效性和自定义监控规则八大类,约20条监控规则指标。以下对各个监控指标做出解释。

有效性 字段长度有效 对字段内容长度是否在有效性范围的监控指标,可配置[最小长度,最 大长度]。如mobile手机号11位;身份证18位或15位是否满足配置监控长度,不等于配置长度范围,视为脏数据。 字段内容有效 对字段内容是否在满足正则表达式指定内容格式的监控指标。如对name姓名含有中英文结合;身份证号含有中文;手机号11111111111等异常数据监控。 字段数值范围有效 对数值类型字段是否在有效性值范围的监控指标,可根据业务场景配置该字段值范围[最小值,最大值]。如age年龄,超过1000岁等。 枚举值个数有效 对枚举值字段的可枚举值种类个数的监控指标,可配置[>、>=、=、=、=、


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3