元数据驱动的数据质量监控实践
2019-05-22郭绍斌
郭绍斌
摘要:数据已经成为互联网企业非常依赖的新型重要资产。数据质量的好坏直接关系到信息的精准度,也影响到企业的生存和竞争力。如何保证数据的准确性、完整性、合理性,成为衡量一个大数据平台下的质量监控的重要指标[1]。针对这一问题提出了一种元数据驱动的数据质量监控解决方案,使用大数据分布式计算技术MR、Spark;Metabase报表平台;Zabbix监控报警平台。保证数据的完整和准确,并提供监控和报警机制,解决下层数据出现错误,上层数据应用产生错误的现象,减少企业损失。
关键词:数据质量;大数据;元数据;监控
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2019)06-0003-03
进入21世纪以来,随着物联网、电子商务、社会化网络的快速发展,数据体量迎来了爆炸式地増长,大数据正在成为世界上最重要的土壤和基础。根据DC(互联网数据中心)预测,2020年的数据増长量将是2010年的44倍,达到35ZB。世界经济论坛报告称,“大数据为新财富,价值堪比石油”。随着计算机及其存储设备、互联网、云计算等技术的发展,大数据应用领域不断丰富。大数据产业成为引领信息技术产业发展的核心引、推动社会进步的重要力量。
数据质量的好坏直接关系到信息的精准度,也影响到企业的生存和竞争力。Michael Hammer(《Reengineering the Corporation》[2]一书的作者)曾说过,看起来不起眼的数据质量问题,实际上是拆散业务流程的重要标志。数据质量管理是测度、提高和验证质量,以及整合组织数据的方法等一套处理准则,而体量大、速度快和多样性的特点,决定了大数据质量所需的处理,有别于传统信息治理计划的质量管理方式。
本文基于金蛋理财大数据平台,通过对数据流转过程中各个阶段数据质量检测结果的采集分析、规则引擎、评估反馈和再检测的闭环管理过程出发,从需求背景、建设思路、技术方案、呈现效果及总结等方面,介绍金蛋理财数据中心数据质量监管平台的搭建思路和建设实践。
1 需求背景
随着公司业务数据的增多,传统的关系型数据库无法解决大量数据查询和分析的能力。
需要把这些数据同步到Hive[3]分布式结构化数据仓储,或者HBase[4]实时的非结构化数据仓储。
背景一:數据从Mysql业务库通过Sqoop[5]拉取到HDFS[6]上,映射,清洗合并到ods层(业务库层原始数据),cm层(ods层数据清洗合并之后的数据)。由于业务库表字段进行变更、增加、上线要求计算利息表计算时间晚于正常时间,又或者是集群资源不稳定,会造成数据同步合并不完整,数据无法正常使用。需要对数据的质量进行粗、细粒度的监控并含有报警机制。让开发人员及时知道问题,修改问题。关闭和延缓报表推送等应用,减少由于数据的不准确性带来上层应用的损失。
背景二:Hive表中的数据是每天导入一次,满足T+1天的查询,但是实时性比较弱。无法满足实时性要求高的查询,例如:分析今天某个时间段活动的详细数据。从而有了实时的存储的需求HBase(HBase支持update某行数据,Hive只能一次性插入)。历史数据一次想导入,业务库实时的数据(Binlog) →Cannel→Kafka→SparkStreaming→HBase。
中间过程复杂,为了保证数据的完整性和准确性,必须建立数据质量监控平台。
2 建设思路
以数据质量检核管理PDCA方法论,基于金蛋理财大数据平台,对数据质量需求和问题进行全质量生命周期的管理,包括质量问题的定义、检核监控、发现分析、跟踪反馈及知识库沉淀。数据质量PDCA流程图如图1所示:
2.1质量检核标准
完整性:主要包括实体缺失、属性缺失、记录缺失和字段值缺失四个方面;
准确性:一个数据值与设定为准确的值之间的一致程度,或与可接受程度之间的差异;
合理性:主要包括格式、类型、值域和业务规则的合理有效;
一致性:业务指标统一定义,数据逻辑加工结果一致性;
及时性:数据仓库ETL、应用展现的及时和快速性,Jobs运行耗时、质量、依赖及时性。
金蛋理财数仓分为用户、投资、转出、计息四大主题,按数据价值量化、存储资源优化等指标评估,划分物理模型为热、温、冷、冰等四个标准,结合应用自定义其具体标准范围,实现其灵活性配置;作业运行耗时分为:优、良、一般、关注、耗时等,每类耗时定义的标准范围既符合大数据的特性又可满足具体分析需要,且作业耗时与数仓主题和逻辑分层深度整合,实现多角度质量洞察评估;各项均对应具体的实施策略。整体数据质量的检核对象包括离线数仓和实时数据。
2.2管理流程
流程化管理是推进数据问题从发现、跟踪、解决到总结提炼的合理有效工具。质量管理流程包括:数据质量问题提报、数据质量问题分析、故障跟踪、解决验证、数据质量评估分析等主要环节步骤;从干系人员的角度分析包括数据质量管理人员、数据质量检查人员、数据平台开发人员、业务及BI商分人员等,从流程步骤到管理人员形成职责和角色的矩阵图。如图2所示:
3技术方案
3.1总体架构如图3所示
3.2监控库重要表设计
3.3程序规范
a)Hive:根据表元数据监控报警表monitor_metabase预超时时间,同步 Hive元数据表TABLE_PARAMS中的数据到历史元数据监控表中。
b)设定定时任务执行HQL,MR,Spark任务更新数据量、数据增量、数据增长率。
c)监控指标是否超过阈值,如果超过根据 组ID 自动报警;根据红色报警时间确定再次报警。使用zabbix工具进行监控,发邮件。
d)使用metabase报表平台展示历史、实时数据增量和数据增长率。
3.4技术细节
a)由于Hive元数据不准确且有延迟性,所以要元数据重建。
b)报表展示环节由于各个表数据增量差距较大,采用增长率(当天的增长数/最近七天的平均增长数)进行监控,从而折线图的增长率在1.0附近。
c)实时数仓HBase的值和业务库进行对比时,spark程序可仿照Pheonix调用HBase的API结合Schema配置,形成DataFrame,进而拼接SQL进行批量化处理。
4 呈现效果
5 总结
数据质量是数据治理建设的重要一环,与元数据管理、数据标准化及数据服务管理等共同构建了数据治理的体系框架。建设一个完整质量监管平台,将从监控、标准、流程制度等方面提升信息管理能力,优先解决所面临的数据质量和数据服务问题,其效果体现以下几个方面:
a)监控数据资产质量状态,为优化数据平台和数据仓库性能、合理配置数据存储资源提供决策支持;
b)持续推动数据质量监控优化预警、实时监控的机制;
c)重点优先监控关键核心数据资产,管控优化20%核心资源,可提升80%需求应用性能;
d)规范了问题故障的跟踪、Review、优化方案。从数据中提炼价值,从方案中形成标准化的知识体系;
e)由技术检测到业务监督,形成闭环工作流机制,提高整体数据质量,全面提升服务业务水平。
数据质量是数据仓库建设、数据应用建设和决策支持的关键因素,可通过完善组织架构和管理流程,加强部门间衔接和协调,严格按照标准或考核指标执行落地,确保数据质量方能将数据的商业价值最大化,进而提升企业的核心竞争力和保持企业的可持续发展。
参考文献:
[1] 韩京宇,徐立臻.数据质量研究综述[J].计算机科学,2018,35(2).
[2] Hammer, Michel Champy, James.Reengineering the Corporation[M]. NicholasBrealey, London, 1993:223.
[3] Y. Jia and Z. Shao. A Benchmark for Hive, PIG and Hadoop, 2009. https://issues.apache.org/jira/browse/HIVE,2009: 396.
[4] Nguyen AV, Wynden R, Sun Y: HBase, MapReduce, and Integrated Data Visualization for Processing Clinical Signal Data. In AAAI Spring Symposium: Computational Physiology: 2011.
[5] http://sqoop.apache.org/.
[6] The Hadoop Distributed File System: Architecture and Design, [online] Available: http://hadoop.apache.org/common/docs/r0.19.1/hdfs_design.html.
【通聯编辑:光文玲】