168大数据

标题: 一个数据质量监控系统的自我修养 [打印本页]

作者: 168主编    时间: 2021-9-22 16:22
标题: 一个数据质量监控系统的自我修养
目录
背景
随着大数据时代的到来,伴随着是“海纳百川、有容乃大”种类繁多的海量数据爆炸式增长;有“天下武功,为快不破”惊人的数据处理速度;可挖掘“运筹帷幄胜千里之外”支持决策的数据价值。同时,信息社会不断向纵深发展,数据和信息作为战略性资源的价值正在快速提升。当前,数据的战略价值已得到广泛重视,数据治理能力也成为了衡量一个企业、行业、乃至一个地区的经济社会发展水平的重要指标。
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片段集合,在进行优化组合,尽量减少对表读取次数,将执行结果存放监控结果表。 调度根据当前任务执行结果判断是否熔断告警。再根据执行结果形成数据质量报告。
功能
设计实现
系统框架图
数据质量监控执行流程图
表结构设计
1、监控任务与监控对象表的对应关系表
说明:
2、监控规则配置表
说明:
3、监控规则库表
说明:
4、监控规则元数据表
说明:
5、监控结果表
说明:
6、监测结果码表
说明:
对监控结果表的term_value结果值说明
规则指标
数据质量监控指标从有效性、唯一性、完整性、准确性、一致性、有效性、时效性和自定义监控规则八大类,约20条监控规则指标。以下对各个监控指标做出解释。
表结构变更动态感知
当对某张表或字段配置完监控规则后,表删除或表结构发生了变更,因为程序是对监控规则做组合优化的,不能一个字段的变更到此张表的所有规则失效或报错。在这种情况下,实现了表结构变更的动态感知功能,把涉及到变更了字段的监控规则置为无效,并发出通知。
技术实现是使用Antlr4解析做的,利用Spark词法文件,生成词法分析器,语法分析器,抽象语法树。利用Antlr4访问者模式遍历语法树,收集这段SQL中用到库、表和字段集合与HiveMeta元数据 库、表和字段集合比较,如果此表的HiveMeta元数据集合不能包含监控规则关于表 元数据集合,将此规则置为无效。
anltr4示例:
词法文件:
语法树:
总结
此数据质量监控系统有丰富可扩展数据质量监控规则库,自定义数据质量监控规则及语法检查,支持任务熔断、电话、短信、邮件多级告警,能清晰定位质量问题业务和技术数据Owner,可监控对象表结构变更动态感知。但是其没有做到与目前使用Airlfow调度无缝集成,需要调度系统做较大改造。
一个数据质量监控系统的自我修养,就是让它不断完善,持续迭代优化,接下来实现支持流式数据质量监控。






欢迎光临 168大数据 (http://www.bi168.cn/) Powered by Discuz! X3.2