首页> 中国专利> 一种基于Hadoop的数据质量探查系统

一种基于Hadoop的数据质量探查系统

摘要

本发明公开了一种基于Hadoop的数据质量探查系统,包括数据质量检测、检测结果统计分析和检测过程监控模块;所述数据质量检测模块包括多源数据的汇聚、数据基础探查和数据自定义探查组件,负责将需要质量检测的数据汇聚到大数据集群中后,对全数据资源和全字段进行探查,再根据实际业务需要及数据特点,自定义地配置数据探查规则,并统计出相应的探查结果;所述检测结果统计分析模块负责查看单个数据目录的检测结果和全局数据资源数据质量分析;所述检测过程监测模块负责对数据检测任务进行统一管理、对数据检测任务进行控制和任务执行概况统计。本发明所述数据质量探查系统可对多种类型数据库数据进行数据质量检测并可配置检测规则和周期。

著录项

  • 公开/公告号CN112527783A

    专利类型发明专利

  • 公开/公告日2021-03-19

    原文格式PDF

  • 申请/专利权人 中科曙光南京研究院有限公司;

    申请/专利号CN202011354092.5

  • 发明设计人 陈辉;徐云龙;姚伯祥;王海荣;

    申请日2020-11-27

  • 分类号G06F16/215(20190101);G06F16/28(20190101);G06F16/25(20190101);

  • 代理机构32204 南京苏高专利商标事务所(普通合伙);

  • 代理人李静

  • 地址 211102 江苏省南京市江宁区诚信大道519中科曙光南京研究院有限公司

  • 入库时间 2023-06-19 10:19:37

说明书

技术领域

本发明涉及一种数据质量探查系统,属于计算机领域。

背景技术

随着社会各个行业信息化的不断建设,当前已形成有一定规模的数据。对于这些繁杂的数据,当前主流的方法是首选将这些多源数据进行汇聚,统一存储在一个大数据集群环境中,进行统一的管理和对外共享分发,即数据管理中心。多源数据包括mysql、oracle、db2、hive、PostgreSQL等各类的数据处理系统。当前对于汇聚而来的数据,普遍只能保证源数据库中的数据能够完整的复制到数据管理中心。但无法对源数据库提供的数据,其数据的质量进行识别、判断和监控。也就造成数据管理中心无法对上报而来的数据质量进行有效的管控,间接的造成数据可用性较低。无法将数据价值发挥到最大。

发明内容

发明目的:本发明旨在提供一种可对汇聚的数据质量进行检测,掌控数据整体质量的数据质量探查系统。

技术方案:本发明的所述的数据质量探查系统,包括数据质量检测模块、检测结果统计分析模块和检测过程监控模块。

所述数据质量检测模块包括多源数据的汇聚组件、数据基础探查组件和数据自定义探查组件,将需要质量检测的数据汇聚到大数据集群中后,对全数据资源、全字段进行探查,再根据实际业务需要及数据特点,自定义地配置数据探查规则,并统计出相应的探查结果。

所述检测结果统计分析模块负责查看单个数据目录的检测结果和全局数据资源数据质量分析。

所述检测过程监测模块负责对数据检测任务进行统一管理、对数据检测任务进行控制和任务执行概况统计。

所述多元数据的汇聚组件包括数据源管理组件、数据采集组件和数据仓库管理组件,将各类关系型数据库和非关系型数据库中的数据统一汇聚到Hive数据库中。

所述数据源管理组件对数据的来源进行管理,组件内部维护着包括数据源的详细信息,包括数据源的名称、类别(如数据库、文件和远程地址)、注册时间、ip地址、数据库类型、实例名、用户名、密码、数据库版本等。

所述数据采集组件根据需求对数据源中数据进行采集抽取,数据采集组件根据数据源管理组件的信息,动态组织数据源连接信息,并动态选择对应数据源的JDBC驱动进行数据源连接,展示该数据源下所有的用户域、数据域和数据表信息。

所述数据仓库管理组件对已采集的数据统一管理,并以树的形式图形化展示hive中数据目录结构,在每一个具体目录下保存对应具体数据表。

所述数据源管理组件在组成新的数据源时,将依据已填写的数据源信息尝试连接该数据源并进行有效性判别,若连接成功,则该数据源将被判别为有效数据源,并进行保存;若连接失败,则该数据源将判别为无效数据源,无法进行保存。

所述数据采集组件的数据采集方式包括不更新、增量更新和全量更新,所述增量更新需要选择数据表中的更新字段,因更新字段必须为可进行数值比较的类型,故字段类型必须为int或date类型。针对sqoop执行的周期,可进行配置,基于cron表达式实现年、月、周、日、小时、分钟、秒的周期性执行配置。

所述数据仓库管理组件还可以调整数据表目录地址、删除数据表、修改数据表采集任务和查看数据表详细信息,数据表详细信息包括表名称、当前数据量、过往数据采集任务的执行时间和完成时间、所属数据源信息、所属数据库信息及其他备注信息。

所述数据质量检测模块还包括元数据管理组件,将元数据信息提前录入至数据管理中心,为数据检测提供数据标准。

所述数据质量检测模块还包括数据字典管理组件,该组件将数据字段信息提前录入至数据管理中心,为下一步检测数据中可翻译字段提供比对标准并对数据进行翻译。

所述数据基础探查组件默认为对全数据资源和全字段进行探查,所述数据基础探查还包括接入方式探查、字段探查和数据及探查。

所述接入方式探查通过网络环境、数据来源系统、数据存储位置、访问请求和数据提供方式对数据来源的来源表的接入方式进行探查。

所述字段探查通过空值率、值域及分布、数据元匹配、数据字典匹配、类型及格式方面对数据表内字段值的统计进行探查。

所述数据集探查包括数据集标准探查和数据集规模探查。

所述数据自定义探查组件定义各类数据的探查规则并对探查结果为不符合的数据项再加工,具体为不符合数据项的标记和已标记不符合数据项的导出。

所述数据质量检测模块还包括探查执行周期组件,该组件对每个探查任务配置执行周期。

有益效果:与现有技术相比,本发明具有如下显著优点:可实现对多种类型数据库数据进行数据质量检测,并提供可配置数据质量检测规则及周期性质量检测;对元数据和数据字典的有效利用,提升了数据质量探查的广度和深度;数据质量探查可有效帮助数据所有者深入了解数据质量情况,并为数据治理等数据再加工、再应用提供可靠的数据依据。

附图说明

图1为本发明所述数据质量探查系统简图;

图2为多元数据采集流程图;

图3为数据基础探查流程图;

图4数据自定义探查流程图。

具体实施方式

下面结合附图对本发明的技术方案作进一步说明。

如图1所示,本发明所述数据质量探查系统包括数据质量检测模块、检测结果统计分析模块和检测过程监控模块,所述数据质量检测模块包括汇聚多元数据、元数据管理、数据字典管理、数据基础探查、数据自定义探查和探查执行周期配置组件,所述数据质量检测模块从数据源获取数据,数据检测模块各组件共同参与数据质量检测过程。

所述检测过程监控模块对数据检测任务进行统一管理,每一个检测任务将会定义为全局唯一的一个任务,包含任务名称、任务配置时间、关联数据检测项描述、每次任务执行的开始时间、结束时间、总耗时、任务是否执行失败、任务优先级等信息;对数据检测任务进行控制,根据实际需要进行:立即执行任务、立即终止任务操作;任务执行概况统计,对任务总数据、任务周期分布状况、任务失败占比进行统计展示。所述检测结果统计分析模块,包括查看单个数据目录的数据检测结果,展示数据资源的名称、采集时间、来源、数据检测时间等基本信息,另外展示基础探查和自定义探查结果,如每个检测项的符合度百分百,以及可分别显示每项指标的不符合度排名,并可将检测结果生成为文件导出到本地计算机目录上;还包括全局数据资源数据质量分析,以全局视角统计元数据的匹配数据、数据字典的匹配数据、数据质量存在严重问题的数据表及字段信息,并以时间轴的形式展现整个数据管理中心数据质量的变化。

数据汇聚是数据质量探查的前置条件,包括数据源管理组件、数据采集组件和数据仓库管理组件。

数据源管理组件维护管理的数据源信息包括数据源的名称、类别(如数据库、文件、远程地址)、注册时间、数据源详细信息(ip地址、数据库类型、实例名、用户名、密码、数据库版本等)。并且在组成新的数据源时,会对该数据源的有效性进行判别。

数据采集组件主要实现根据需要将数据源中数据进行采集抽取,组件可选择具体需要采集的数据表、以及具体的字段,并可设置该数据将存储在hive中的具体目录。之后组件将根据以上的配置信息,并依据sqoop组件规范要求,动态创建sqoop连接信息,并执行该sqoop进行数据抽取任务的执行。sqoop将根据配置信息,将数据源中的数据复制到hive指定数据目录中。数据采集的方式可分为不更新、增量更新和全量更新。增量更新需要选择数据表中的更新字段,因更新字段必须为可进行数值比较的类型,故字段类型必须为int或date类型。针对sqoop执行的周期,可进行配置,基于cron表达式实现年、月、周、日、小时、分钟、秒的周期性执行配置。

数据仓库管理组件以树的形式图形化展示hive中数据目录结构,在每一个具体目录下保存着具体的数据表。在组件中可对数据表进行目录地址调整、数据表删除、数据表采集任务修改、数据表详细信息查看。数据表详细信息包含表名称、当前数据量、过往数据采集任务的执行时间和完成时间、所属数据源信息、所属数据库信息及其他备注信息。数据表采集任务修改可对原任务执行周期进行修改,可修改为不更新、增量更新、全量更新,增量更新和全量更新可按照cron表达式进行配置。数据表删除将对保存在hive中的数据表文件进行删除,该删除会同步删除hdfs相关目录中文件。数据存储目录地址修改,可动态调整数据存储与hive中的目录,组件将同步进行hdfs相关文件存储位置的调整。

元数据管理组件对元数据信息进行统一的维护。元数据信息具体包含五个大类:标识类属性、定义类属性、表示类属性、管理类属性、融合类和附加类。标识类属性中具体为:内部标识符、中文名称、英文名称、中文全拼、标识符、语境、版本、同义词。定义类属性中具体为:对象类词、特性词、说明、应用约束。表示类属性中具体为:标识词、数据类型、标识格式、值域、归一化标识、计量单位。管理类属性中具体为:状态、提交机构、注册机构、主要起草人、批准日期。融合类属性中具体为:融合单位类型、融合单位数据元编码。附件类属性中具体为备注、关联的代码项及近义词。

数据字典管理组件对数据的数据项、数据结构、数据流、数据存储、处理逻辑等进行定义和描述。在数据字典管理中,可以通过特定文件导入、数据库导入以及手动添加三种方式增加。文件导入方式可导入excel文件,系统将加载excel文件,选择相应sheet页及表格中具体的两个列作为键值对(key、value),然后完成数据的导入。数据库导入方式与数据采集方式相同,加载相应数据源数据库中的字段信息,选择两个列分别做为key健和value健,之后完成数据的导入。手动添加方式需添加部分信息,数据字典基本信息和代码信息,数据字典信息包含数据字典名称、标识符、关键字(关键字可以为多个,用于进行匹配对比),代码信息包含代码项(key)及具体代码值(value)。

数据基础探查包括对接入方式的探查、字段探查和数据集探查。接入方式探查,通过对来源表的存储位置、数据提供方式进行探查;字段探查,针对来源表字段的数据内容进行探查,来识别其代表的含义和统计分布情况;数据集探查,针对来源表的表名、引用数据元情况,探查来源表是否是标准数据集,探查数据总量、增量及更新情况。

接入方式探查通过对数据来源的来源表的接入方式进行探查,主要从网络环境、数据来源系统、数据存储位置、访问请求、数据提供方式进行探查。网络环境探查通过向目标设备一段时间内以ping的方式发送数据包,统计该网络环境数据丢包率、平均延迟时间、当前网络带宽。数据来源系统探查包含网络文件系统、分布式文件系统、关系型或非关系数据库。存储位置探查,文件系统包含文件系统类型、网络地址、文件路径、文件大小。数据库系统的信息包括数据库管理系统类型、数据库名、表名、数据量。访问请求探查为根据账户名、密码、地址等信息进行可访问性测试。数据提供方式探查为识别是被动的接受数据还是主动的请求获得数据。

字段探查是对数据表内字段值的统计。主要从空值率、值域及分布、数据元匹配、数据字典匹配、类型及格式方面进行探查。空值率探查,是指对每个字段内容是否为空进行探查,字段空值率的计算方法:(物理表每个字段空值行总数/物理表总字段总行数)×100%。值域及分布探查,根据字段内容进行取值范围探查,确定最大值、最小值,以及统计数据项每个值的分布比例情况。例如对一张人口数据表中的年龄字段进行探查,将探查出该数据表中最小年龄值及最大年龄值,并统计出每个年龄值的占比值。数据元匹配探查,以上一个步骤中已收录的元数据信息为基准,对当前数据表中的每个字段的中文名称、数据项标识符、数据类型、数据格式、值域进行比对,统计出符合元数据描述的字段,并标注出不符合的字段。类型及格式探查,对需要探查字段中所存储的具体数据的数据格式、支持的最大长度进行统计。

数据集探查为对数据集的整体情况进行探查,包含数据集标准探查、数据集规模探查。数据集标准探查通过对数据集表名称的文本语义分析,与标准数据集名称进行对比分析,结合来源表引用元数据匹配的情况,探查数据集与标准数据集的匹配情况。数据集规模探查,通过多种方式对数据集的数据规模进行调查,通过现场调研、接口等方式获取探查数据的数据总量、增量、更新频度等情况,探查结果包括:数据集名称、数据总量(条数)、数据总存储量、平均增量(条数)、平均存储量、存储周期、更新周期、更新日期。

数据自定义探查为根据实际业务需要及数据特点,自定义的配置数据探查规则,并统计出相应的探查结果。自定义探查以正则表达式技术为基础,定义出各类数据探查规则,对于根据探查出的结果支持对不符合数据项的再加工,具体为不符合数据项的标记(修改原数据,在原数据值后面增加特定的编码或名称)已标记不符合数据项导出到外部库(导出为excel文件或其他关系型/非关系型数据库中)。根据该技术可配置空值检测、数据范围检测、日期范围检测、列值分布检测、列长度分布检测、字符全角检测、字符串逻辑检测、参照完整性检测、列信息统计、日期格式有效性检测、身份证号码检测、车牌校验、邮箱校验、护照校验、港澳通行证检测、银行卡号检测、电话号码检测、军官证检测、公安单位编号检测、警号检测、姓名检测等数据探查规则。在具体选择需要探查的数据资源或字段时,采用自定义检索方式,提高选择效率,根据用户输入的信息,采用sql技术中的like关键字,对数据资源和字段进行检索,筛选出符合条件的信息项。一个字段可支持配置多个自定义探查规则,系统将根据用户的配置的顺序逐个进行探查。探查结果后,系统将统计各个自定义规则的检查情况,以百分百的值显示数据匹配情况。

对于基础探查及数据自定义探查,需要定义一个执行周期。对于配置的每一个探查都是一个任务,可以配置该任务的执行周期,周期支持以年、月、日、小时、分钟、秒为固定周期进行循环执行,也可以配置为仅执行一次。周期的配置采用cron表达式技术,通过对seconds、minutes、hours、dayofmonth、month、dayofweek和year这几个参数的配置完成周期任务表达式的定义。seconds表示的含义为秒,有效值范围为0-59。minutes表示的含义为分钟,有效值范围为0-59。hours代表的含义为小时,有效值范围为0-23。dayofmonth代表的含义为一个月中的某一天,有效值范围为0-31。month代表的含义为月份,有效值范围为1-12。dayofweek代表的含义为一周中的某一天,有效值范围为1-7。year代表的含义为年,有效值范围为1970-2099。每个参数除了上面提到的有效值范围,也有填写部分特殊字符,具体为:*表示匹配该域的任意值、?只能用在dayofmonth和dayofweek两个域。它也匹配域的任意值、-表示范围、/表示起始时间开始触发,然后每隔固定时间触发一次、,表示列出枚举值值、L表示最后、W表示有效工作日、#用于每个月第几个星期几,只能出现在dayofweek。

此数据质量探查系统的核心在于数据质量检测模块的工作,接下来结合附图对数据质量检测模块的多源数据采集、数据基础探查和数据自定义探查进行说明。

如图2所示,多源数据的采集流程如下:

(1)系统发起数据采集的请求;

(2)首选在数据源列表中选择需要采集的数据所属的数据源;

(3)根据数据源信息可匹配到对于的数据源JDBC驱动信息,并结合数据源信息生成该数据源的JDBC链接信息;

(4)使用JDBC驱动及上一步生成的数据源链接信息尝试连接数据源,若链接失败则需要重新选择数据源;

(5)连接成功后,将获取到该数据源下包含资源目录信息的资源表;

(6)选择需要进行具体需要数据采集的数据资源表;

(7)配置数据采集任务的执行周期,可为一次性执行或定时周期执行;

(8)将数据导入至Hive数据库中。

如图3所示,数据基础探查流程如下:

(1)系统发起数据基础探查流程;

(2)首选加载数据资源清单,该数据资源清单为当前已完成数据采集的数据资源表,统一在数据仓库中进行管理;

(3)按顺序对数据资源清单的资源表进行逐一轮循,开始数据基础探查;

(4)先进行接入方式探查,接入方式探查主要分为网络状态探查、来源系统信息探查、存储位置信息探查以及访问和数据提供方式信息的探查;

(5)字段信息探查,主要从字段的空值率、值域分布、数据元匹配情况、数据字段匹配情况等方面进行探查;

(6)数据集探查,主要从数据集整体的数据量、存储空间量、数据更新信息、平均数据增长量、平均数据存储量方面进行探查;

(7)探查的结果信息将统一保存至探查结果表中。

如图4所示,数据自定义探查流程如下:

(1)系统发起数据自定义探查请求;

(2)加载数据资源清单,该数据资源清单为当前已完成数据采集的数据资源表,统一在数据仓库中进行管理;

(3)在数据资源清单中选择需要进行数据自定义探查的数据资源,可同时选择多个数据资源;

(4)显示已选中的数据资源中的字段,并选择需要进行探查的字段,可多选;

(5)对已选中的字段配置相应的检测规则,该规则为系统已内置的数据检测规则;

(6)对于内置规则无法满足的需求,可添加自定义的正则表达式进行检测;

(7)IO线程会从请求队列中拉取具体请求信息,将数据写入到磁盘中,写入磁盘完成之后,会通知主节点,当前数据节点已经拥有了该文件副本,并封装响应将其放入响应队列中去;

(8)探查的结果信息将统一保存至探查结果表中。

在此数据质量探查系统的使用过程中,首先使用ambrai完成服务器集群Hadoop环境的搭建,并安装HDFS、MapReduce、Hive、Pig、Zookeeper、Sqoop组件,并将mysql、Oracle、SqlServer、达梦、hive、PostgreSQL等数据库系统的jdbc驱动文件统一管理。然后根据需要选择的需要导入的数据库表信息生成连接字符串,并调用sqoop服务,将数据抽取进入hive中。同时需将元数据信息、数据字典信息录入系统中,系统可将数据存储于mysql、Oracle、SqlServer等关系型数据库中,便于数据存储管理。

选择需要进行数据质量检测的资源,根据实际需要配置需要进行数据检测的范围(数据表、字段)及具体检测规则,系统将根据配置进行数据基础探查及数据自定义探查,最后配置相应的周期性执行周期。

详细的探查结果将存储于mysql、Oracle、SqlServer等关系型数据库中,可根据实际需要进行数据质量排名、元数据匹配率、数据字典匹配率等统计分析。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号