一种基于Hive的数据质量检核方法

简介: 本发明提出了一种数据质量检核方法、装置、设备及可读存储介质,所述方法包括如下步骤:1)根据质量检核需求,对多业务系统数据进行关联建模,生成关联建模结果;2)根据所述关联建模结果,配置数据质量检核规则,获取数据配置结果;3)将所述数据配置结果导入规则解析器,生成检核脚本;4)将所述检核脚本导入脚本执行器,生成检核明细表;5)对所述检核明细表进行汇总统计,生成检核结果报告。本发明通过针对不同的检核要求,将多业务系统数据进行临时关联汇总,初步对待检核数据进行筛选,限定数据范围,可以大大提升质量检核结果的准确性和有效性,以及降低使用和维护成本。

背景技术

我国银行业的信息化建设历经二十年的发展,目前已建立较为完备的信息系统,通过广泛的业务类型和多样的金融产品积累了大量的数据。2018年,银保监会发布“银保监发〔2018〕22号《银行业金融机构数据治理指引》”,为指导银行业金融机构加强数据治理,提高数据质量,发挥数据价值,提升经营管理能力。从数据生命周期的角度看,以下环节最容易产生数据质量问题:
在系统建设阶段,如:信息要素登记缺失、定义模糊、内容重复,数据字典不完善以及与系统实际不符,系统内部遵循的标准不一致等等。
在生产运行阶段,这是数据真正产生的阶段,是数据质量最容易出问题的环节,如:柜员录入不规范导致的数据质量问题,不该为空的数据出现空值,录入信息与实际不符,录入的信息重复、不一致、不完整等问题。
在数据应用阶段,这不仅是检验业务系统数据质量的阶段,也是数据问题产生的阶段,如:指标名称、业务口径、技术口径不标准、不一致而导致的各部门统计的数据不一致的问题,指标数据质量检核缺乏规则及工具支撑、报表数据问题定位难度大,解决效率低等问题。
为了解决数据质量问题,大型银行会成立专职的数据管理团队,采购专门的商业数据管控工具,对全行的数据进行治理,这往往需要至少几十上百人,几百上千万资金的投入。而广大的中小银行因为人力物力的缺乏,更倾向于向自有系统供应商的寻求支持,针对特定监管领域提供功能有限的质量管理工具。但是这些工具往往可配置性不够,无法根据需求的变化自定义质量检核规则,无法对银行各业务系统的数据进行全面的检核。

具体实施方式

图1示出了根据本发明实施例的数据质量检核方法的流程示意图。如图1所示,该方法包括如下步骤:
S100:根据质量检核需求,对多业务系统数据进行关联建模,生成关联建模结果。
具体的,质量检核需求包括监管报送要求,反洗钱要求,经营分析与报表要求等,不同的要求所需要的字段不同,数据标准也不同。比如,反洗钱要求对个人客户的九要素进行质量检核,个人九要素包括:姓名、证件号码、证件有效期、国籍、性别、职业、移动电话、通讯地址、工作单位名称。反洗钱要求检核这些字段是否为空,证件有效期是否满足日期格式及范围标准,国籍、性别、职业字段是否符合标准码值等。
检核需求可以由风控部门提出,如涉及监管,反洗钱等;也可以由业务部门提出,如涉及数据经营分析与报表等。也可以由科技部门牵头,对行内重要基础数据进行统一检核,摸底全行数据质量状况。
本发明实施例中,业务系统包括核心系统,用户中心系统,对公贷款系统,个人贷款系统,供应链系统等各种外围业务系统。每个业务系统都包含了至少几十张表,考虑到我们是有针对性的进行检核,所以要根据实际情况,抽取需要的表和字段进行关联建模。
如图2所示,对多业务系统数据进行关联建模,具体包括如下步骤:
S101:将多业务系统数据抽取到大数据平台中的贴源层中,生成贴源层数据表。
S102:通过编写Hive QL对贴源层数据表进行关联,生成数据集。
S103:将数据集存储在大数据平台的模型层中,获取关联建模结果。
比如,我们根据反洗钱要求对在我行开立一二类账户的个人客户九要素进行关联建模,这些字段分布在核心系统,柜面系统,客户管理系统等不同系统中,数据表有账户信息表,客户基本信息表,客户扩展信息表,证件信息表,联系方式信息表等。我们先将各业务系统的数据全部抽取到大数据平台中的贴源层中,生成贴源层数据表,然后通过编写Hive QL(结构化查询语言)对贴源层数据表进行关联,生成数据集,最后将数据集存储在大数据平台的模型层中,获取关联建模结果。
S200:根据关联建模结果,配置数据质量检核规则,获取数据配置结果。
应理解,这里的关联建模结果,是一张从多个业务系统中经过ETL(Extract抽取、Transform转换、Load加载)的临时宽表结构,存储在大数据平台中。这张表结构包含了我们本次需要检核的字段和业务数据。我们根据这张临时宽表,对其中每个字段进行规则配置,获取数据配置结果。数据质量检核规则包含五大类十一细类,具体为:内部数据冲突类(唯一性校验)、数据缺失类(非空校验,完备性校验)、违背编码规范类(日期范围校验,时间日期格式校验,特殊字符校验)、违背技术规范类(范围码值校验,数值校验,长度校验)、业务逻辑类(数值比较校验,总分校验)。
规则配置元数据包含规则大类,规则细类,检核源表,源字段,字段中文名,检核逻辑等,如下图:

苏宁豆芽图片20210812101811270.png

S300:将数据配置结果导入规则解析器,生成检核脚本;
具体的,规则解析器是一个Linux系统可执行程序,可以用Shell,Java,C或者Python等不同的编程语言实现。将数据配置结果文件作为规则解析器的输入参数,解析器逐条读取数据配置结果,根据不同的规则类型和待检核字段以及检核逻辑进行匹配解析,最后生成一系列SQL脚本语句,即检核脚本,可以在大数据平台Hive和Spark上直接执行。
S400:将检核脚本导入脚本执行器,生成检核明细表;
脚本执行器内部包含可配置进程池,执行者可以根据资源情况配置最大可用进程池。检核脚本文件作为脚本执行器的输入参数,由脚本执行器逐行读取,分配后台进程后并发执行,生成检核明细表。
S500:对检核明细表进行汇总统计,生成检核结果报告。
检核结果明细表包含检核过程中所有的异常数据,对这些数据进行统计汇总,获取汇总结果,可将汇总结果进行邮件发送,报表数据展示,质量趋势可视化分析等。
如图3所示,本发明还公开了一种数据质量检核装置,包括:
关联建模模块100,用于根据质量检核需求,对多业务系统数据进行关联建模,生成关联建模结果。
如图4所示,其中,关联建模模块100包括:数据抽取模块101,用于将多业务系统数据抽取到大数据平台中的贴源层中,生成贴源层数据表。数据关联模块102,用于通过编写Hive QL对所述贴源层数据表进行关联,生成数据集。数据存储模块103,用于将所述数据集存储在大数据平台的模型层中,获取关联建模结果。
规则配置模块200,用于根据所述关联建模结果,配置数据质量检核规则,获取数据配置结果;
解析器模块300,用于将所述数据配置结果导入规则解析器,生成检核脚本;
脚本执行器模块400,用于将所述检核脚本导入脚本执行器,生成检核明细表;脚本执行器模块还包括进程池配置模块,用以使执行者可以根据资源情况为脚本执行器的进程池配置最大可用进程池。
结果展示模块500,用于对所述检核明细表进行汇总统计,生成检核结果报告。

image.png


图1


image.png


图2


image.png


图3


image.png


图4

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
8天前
|
SQL 存储 数据建模
【Hive】数据建模用的哪些模型?
【4月更文挑战第14天】【Hive】数据建模用的哪些模型?
|
2月前
|
SQL 消息中间件 Kafka
Flink部署问题之hive表没有数据如何解决
Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。本合集提供有关Apache Flink相关技术、使用技巧和最佳实践的资源。
|
3月前
|
SQL 分布式计算 关系型数据库
Sqoop数据导入到Hive表的最佳实践
Sqoop数据导入到Hive表的最佳实践
|
5月前
|
SQL HIVE
57 Hive案例(数据ETL)
57 Hive案例(数据ETL)
32 0
|
8月前
|
SQL 存储 大数据
关于数据仓库的Hive的Hive架构的MetaStore元数据服务
随着大数据技术的不断发展,数据仓库成为了企业中不可或缺的一部分。而Hive作为一种开源的数据仓库系统,因其易于使用和高效处理等特点,成为了许多企业的首选。然而,对于普通用户来说,直接使用Hive的命令行工具进行操作并不方便。因此,开发者社区中涌现出了大量的Hive GUI工具,其中最为流行的就是Web GUI工具。
205 2
|
SQL 存储 分布式计算
Hive综合
Hive主要解决海量结构化日志的数据统计分析,它是hadoop上的一种数据仓库工具,可以将结构化的数据文件映射成一张表,并提供类似于SQL的查询方式,本质上来说是将Hive转化成MR程序。
153 0
Hive综合
|
SQL 分布式计算 Hadoop
|
SQL 存储 分布式计算
数仓工具之Hive调优
1、启用Fetch抓取 2、本地模式(调试使用) 3、表的优化 4、合理设置map数以及reduce数 5、JVM重用 6、压缩 7、执行计划
237 0