海量结构化数据的质量评估方法及装置与流程

文档序号:18832298发布日期:2019-10-09 03:50阅读:225来源:国知局
海量结构化数据的质量评估方法及装置与流程

本发明涉及数据库技术领域,尤指一种海量结构化数据的质量评估方法及装置。



背景技术:

数据经常被称为一座金矿,尤其是在当今数据驱动的经济环境下更是如此。当前,会将数据进行结构化处理得到结构化数据,然后保存在数据库中。

目前,依靠抽取、清洗、转换和载入(extractcleaningtransformandload,ectl)对数据进行清洁,数据清洁从名字上也看的出就是把“脏”的“洗掉”,发现并纠正数据中可识别的错误的最后一道程序,包括检查数据一致性、处理无效值和缺失值等,然后按照一定的规则把“脏数据”“洗掉”,这就是数据清洁。数据清洁的任务是过滤那些不符合要求的数据,不符合要求的数据主要是有不完整的数据、错误的数据、重复的数据三大类。

而仅仅进行数据清洁是远远不够的,因为“脏数据”表现形式有很大的不确定性,“脏数据”之所以“脏”的原因有很多,例如:空值、字段值溢出、违反外键约束、重复记录、违反业务逻辑等。在最初设计etl规则时,并不知晓哪个字段会有什么类型的“脏数据”,无法有针对性地建立有效的etl规则,而只能在etl规则运行时遇到数据质量问题引发的错误后,才能去解决它。因此,在字段具体含义未知的情况下以及对数据库中的结构化数据进行清洁之前,有必要首先自动化智能评估海量结构化数据的质量。



技术实现要素:

本发明实施例提供一种海量结构化数据的质量评估方法及装置,以实现在字段具体含义未知的情况下以及对数据库中的结构化数据进行清洁之前,自动化智能评估海量结构化数据的质量。

根据本发明实施例,提供一种海量结构化数据的质量评估方法,包括:

连接待评估数据库;

对所述待评估数据库进行整体数据质量评估;以及,

将所述待评估数据库中包括的各个表的字段进行分类,并对每一类型的字段集合进行数据质量评估。

具体的,对所述待评估数据库进行整体数据质量评估,具体包括:

根据预置的整体数据质量评估规则对所述待评估数据库进行整体数据质量分析;

基于分析结果生成整体数据质量评估报告。

具体的,若字段包括元数据,则将所述待评估数据库中包括的各个表的字段进行分类,具体包括:

针对所述待评估数据库中包括的各个表的字段,执行:

获取当前字段的元数据包括的字段类型;

将所述当前字段添加到所述字段类型对应的字段集合中。

具体的,对每一类型的字段集合进行数据质量评估,具体包括:

针对数值型的字段集合,根据预置的数值型字段质量评估规则对所述数值型的字段集合进行数据质量分析,基于分析结果生成数值型字段质量评估报告;

针对字符型的字段集合,根据预置的字符型字段质量评估规则对所述字符型的字段集合进行数据质量分析,基于分析结果生成字符型字段质量评估报告;

针对日期型的字段集合,根据预置的日期型字段评估规则集合对所述日期型的字段集合进行数据质量分析,基于分析结果生成日期型字段质量评估报告。

可选的,针对所述数值型的字段集合,还包括:

针对所述数值型的字段集合中包括的各个字段,执行:

判断当前字段包括的所有字段值的分布是否符合正态分布;

若所述当前字段包括的所有字段值符合正态分布,则将与所述当前字段的平均值的偏差超过设定倍数的标准差的字段值确定为第一异常字段值;

将所述当前字段包括的所有字段值中除所述第一异常字段值之外的字段值进行聚类分析,将不是核心样本字段值且与任意一个核心样本字段值的距离都大于第一设定阈值的字段值确定为第二异常字段值;

合并所述第一异常字段值与所述第二异常字段值,生成异常字段值报告。

可选的,针对字符型的字段集合,还包括:

针对所述字符型的字段集合中包括的各个字段,执行:

利用编辑距离相似度计算当前字段中任意两两字段值之间的相似度;

将相似度大于第二设定阈值的两个字段值确定为重复字段值;

基于重复字段值生成重复字段值结果报告。

根据本发明实施例,还提供一种海量结构化数据的质量评估装置,包括:

连接模块,用于连接待评估数据库;

第一评估模块,用于对所述待评估数据库进行整体数据质量评估;以及,

第二评估模块,用于将所述待评估数据库中包括的各个表的字段进行分类,并对每一类型的字段集合进行数据质量评估。

具体的,所述第一评估模块,用于对所述待评估数据库进行整体数据质量评估,具体用于:

根据预置的整体数据质量评估规则对所述待评估数据库进行整体数据质量分析;

基于分析结果生成整体数据质量评估报告。

具体的,若字段包括元数据,则所述第二评估模块,用于将所述待评估数据库中包括的各个表的字段进行分类,具体用于:

针对所述待评估数据库中包括的各个表的字段,执行:

获取当前字段的元数据包括的字段类型;

将所述当前字段添加到所述字段类型对应的字段集合中。

具体的,所述第二评估模块,用于对每一类型的字段集合进行数据质量评估,具体用于:

针对数值型的字段集合,根据预置的数值型字段质量评估规则对所述数值型的字段集合进行数据质量分析,基于分析结果生成数值型字段质量评估报告;

针对字符型的字段集合,根据预置的字符型字段质量评估规则对所述字符型的字段集合进行数据质量分析,基于分析结果生成字符型字段质量评估报告;

针对日期型的字段集合,根据预置的日期型字段评估规则集合对所述日期型的字段集合进行数据质量分析,基于分析结果生成日期型字段质量评估报告。

可选的,针对所述数值型的字段集合,所述第二评估模块,还用于:

针对所述数值型的字段集合中包括的各个字段,执行:

判断当前字段包括的所有字段值的分布是否符合正态分布;

若所述当前字段包括的所有字段值符合正态分布,则将与所述当前字段的平均值的偏差超过设定倍数的标准差的字段值确定为第一异常字段值;

将所述当前字段包括的所有字段值中除所述第一异常字段值之外的字段值进行聚类分析,将不是核心样本字段值且与任意一个核心样本字段值的距离都大于第一设定阈值的字段值确定为第二异常字段值;

合并所述第一异常字段值与所述第二异常字段值,生成异常字段值报告。

可选的,针对字符型的字段集合,所述第二评估模块,还用于:

针对所述字符型的字段集合中包括的各个字段,执行:

利用编辑距离相似度计算当前字段中任意两两字段值之间的相似度;

将相似度大于第二设定阈值的两个字段值确定为重复字段值;

基于重复字段值生成重复字段值结果报告。

本发明有益效果如下:

本发明实施例提供一种海量结构化数据的质量评估方法及装置,通过连接待评估数据库;对所述待评估数据库进行整体数据质量评估;以及,将所述待评估数据库中包括的各个表的字段进行分类,并对每一类型的字段集合进行数据质量评估。该方案可以实现在字段具体含义未知的情况下以及对数据库中的结构化数据进行清洁之前,自动化智能评估结构化数据的质量,以便于后续对数据库中的结构化数据进行数据清洁,确保数据清洁的质量和效率。

附图说明

图1为本发明实施例中一种海量结构化数据的质量评估方法的流程图;

图2为本发明实施例中一种海量结构化数据的质量评估装置的结构示意图。

具体实施方式

为了实现在对数据库中的结构化数据进行清洁之前,评估结构化数据的质量,本发明实施例提供一种海量结构化数据的质量评估方法,该方法的流程如图1所示,执行步骤如下:

s11:连接待评估数据库。

需要进行数据质量评估的数据库可以定义为待评估数据库,在对待评估数据库进行数据质量评估时,首先需要连接待评估数据库。

s12:对待评估数据库进行整体数据质量评估。

s13:将待评估数据库中包括的各个表的字段进行分类,并对每一类型的字段集合进行数据质量评估。

待评估数据库中通常包括海量结构化数据,这些海量结构化数据以多个表的形式存在,而每个表可能包括多个字段,可以将这些字段进行分类,并分别对每一类型的字段集合进行数据质量评估。

其中,s12与s13并没有严格的先后执行顺序,可以先执行s12再执行s13,也可以先执行s13再执行s12,还可以同时执行s12与s13。

该方案可以实现在字段具体含义未知的情况下以及对数据库中的结构化数据进行清洁之前,自动化智能评估结构化数据的质量,以便于后续对数据库中的结构化数据进行数据清洁,确保数据清洁的质量和效率。

具体的,上述s12中对待评估数据库进行整体数据质量评估,具体包括:

根据预置的整体数据质量评估规则对待评估数据库进行整体数据质量分析;

基于分析结果生成整体数据质量评估报告。

预置的整体数据质量评估规则可以但不限于包括:数据库名、数据量、表的数量、空表的数量、表的质量比(非空表数/表的数量)、字段总数量、数值型字段数量、数值型字段占比(表示数值类型字段数量/字段数量,重要指标)、表的行数、表字段数量、表数值字段数量。根据这些内容生成数据源整体质量评估报告,或者用于可视化展示呈现结果,可以从宏观上探索待评估数据库的全局特征信息,以便指导下一步的数据分析和数据清洗提供依据。

具体的,若字段包括元数据,则上述s13中将待评估数据库中包括的各个表的字段进行分类,实现过程具体包括:

针对待评估数据库中包括的各个表的字段,执行:

获取当前字段的元数据包括的字段类型;

将当前字段添加到字段类型对应的字段集合中。

字段中的元数据中会包含很多与该字段相关的信息,可以从中获取字段类型,然后将当前字段添加到该字段类型对应的字段集合中,从而可以实现待评估数据库中包括的多个表的字段进行分类。

具体的,上述s13中对每一类型的字段集合进行数据质量评估,针对不同类型的字段集合实现过程是不同的,下面列举三种类型的字段集合进行说明:

第一种,针对数值型的字段集合,根据预置的数值型字段质量评估规则对数值型的字段集合进行数据质量分析,基于分析结果生成数值型字段质量评估报告。

数值型字段质量评估规则包括基本信息、值信息以及统计信息。其中,基本信息基于字段包括的元数据和字段名获取,可以但不限于包括数据库名、表名、字段名、类型的精确度、是否为空、小数位数;值信息基于字段的字段值中获取,可以但不限于包括总记录数、唯一值数、空值数、零值数、空值占比、零值占比、正数数量、负数数量、正数占比、负数占比;统计信息可以但不限于包括众数、中位数、最大值、最小值、平均数、标准差、方差、极差(即最大值和最小值之差)、差异系数(即平均数去除标准差再乘以100%)。根据这些内容对数值型字段集合进行数据质量评估,然后生成数值型字段质量评估报告,或者用于可视化展示呈现结果。

值信息的具体含义和作用如下表1所示:

表1

其中,均值、最大值、最小值、中位数描述的是数值型字段的字段值的基本特征,从数据质量分析的角度来讲,极差、方差、标准差更有用,因为这几个统计量更关注这个字段变量所有数据的特征。

例1:若存在某些数据的极差变化很大,则说明这些数据的数据量级差别很大,很可能需要对数据进行归一化处理。

例2:若存在一些变量的标准差很小,则说明数据的变化很大,有可能说明这个变量所包含的信息比较少,在数据挖掘中就可以考虑是否需要删除这些变量。

第二种,针对字符型的字段集合,根据预置的字符型字段质量评估规则对字符型的字段集合进行数据质量分析,基于分析结果生成字符型字段质量评估报告。

预置的字符型字段质量评估规则包括基本信息和值信息。其中,基本信息基于字段的元数据和字段名获取,可以但不限于包括数据库名、表名、字段名、类型的精确度、是否为空、小数位数;值信息基于字段的字段值获取,可以但不限于包括总记录数、唯一值数、空值数、总字符数、数字字符数、最长字符数、最短字符数、完全英文字母记录数、完全数字记录数、完全中文记录数、混合字符串(例如:中文,英文字母和数字及_)记录数、数字字符比例。根据这些内容生成字符型字段质量评估报告,或者用于可视化展示呈现结果。

第三种,针对日期型的字段集合,根据预置的日期型字段评估规则集合对日期型的字段集合进行数据质量分析,基于分析结果生成日期型字段质量评估报告。

日期型字段质量评估规则包括基本信息、值信息、分布分析以及日期格式检测。其中,基本信息基于字段的元数据和字段名获取,可以但不限于包括数据库名、表名、字段名、类型的精确度、是否为空、小数位数;值信息基于字段的字段值获取,可以但不限于包括总记录数、唯一值数、空值数、最晚日期、最早日期;分布分析可以但不限于包括月分布(12个月)、周分布(七天)、年分布(年)。根据这些内容生成日期型字段质量评估报告,或者用于可视化展示呈现结果。

一种可选的实施方式,针对数值型的字段集合,还包括:

针对数值型的字段集合中包括的各个字段,执行:

判断当前字段包括的所有字段值的分布是否符合正态分布;

若当前字段包括的所有字段值符合正态分布,则将与当前字段的平均值的偏差超过设定倍数的标准差的字段值确定为第一异常字段值;

将当前字段包括的所有字段值中除第一异常字段值之外的字段值进行聚类分析,将不是核心样本字段值且与任意一个核心样本字段值的距离都大于第一设定阈值的字段值确定为第二异常字段值;

合并第一异常字段值与第二异常字段值,生成异常字段值报告。

其中,设定倍数可以依据实际需要进行设定,例如,可以设定为3、4、5等等。

一种可选的实施方式,针对字符型的字段集合,还包括:

针对字符型的字段集合中包括的各个字段,执行:

利用编辑距离相似度计算当前字段中任意两两字段值之间的相似度;

将相似度大于第二设定阈值的两个字段值确定为重复字段值;

基于重复字段值生成重复字段值结果报告。

其中,编辑距离相似度的计算公式如下所示:

ld(ni,nj)是用动态规划获得字段值i和字段值j的编辑距离,sim(ni,nj)表示字段值i和字段值j的相似度,ni.length和nj.length表示字段值i和字段值j的长度。

基于同一发明构思,本发明实施例提供一种海量结构化数据的质量评估装置,该装置的结构如图2所示,包括:

连接模块21,用于连接待评估数据库;

第一评估模块22,用于对待评估数据库进行整体数据质量评估;以及,

第二评估模块23,用于将待评估数据库中包括的各个表的字段进行分类,并对每一类型的字段集合进行数据质量评估。

该方案可以实现在字段具体含义未知的情况下以及对数据库中的结构化数据进行清洁之前,自动化智能评估结构化数据的质量,以便于后续对数据库中的结构化数据进行数据清洁,确保数据清洁的质量和效率。

具体的,第一评估模块22,用于对待评估数据库进行整体数据质量评估,具体用于:

根据预置的整体数据质量评估规则对待评估数据库进行整体数据质量分析;

基于分析结果生成整体数据质量评估报告。

具体的,若字段包括元数据,则第二评估模块23,用于将待评估数据库中包括的各个表的字段进行分类,具体用于:

针对待评估数据库中包括的各个表的字段,执行:

获取当前字段的元数据包括的字段类型;

将当前字段添加到字段类型对应的字段集合中。

具体的,第二评估模块23,用于对每一类型的字段集合进行数据质量评估,具体用于:

针对数值型的字段集合,根据预置的数值型字段质量评估规则对数值型的字段集合进行数据质量分析,基于分析结果生成数值型字段质量评估报告;

针对字符型的字段集合,根据预置的字符型字段质量评估规则对字符型的字段集合进行数据质量分析,基于分析结果生成字符型字段质量评估报告;

针对日期型的字段集合,根据预置的日期型字段评估规则集合对日期型的字段集合进行数据质量分析,基于分析结果生成日期型字段质量评估报告。

可选的,针对数值型的字段集合,第二评估模块23,还用于:

针对数值型的字段集合中包括的各个字段,执行:

判断当前字段包括的所有字段值的分布是否符合正态分布;

若当前字段包括的所有字段值符合正态分布,则将与当前字段的平均值的偏差超过设定倍数的标准差的字段值确定为第一异常字段值;

将当前字段包括的所有字段值中除第一异常字段值之外的字段值进行聚类分析,将不是核心样本字段值且与任意一个核心样本字段值的距离都大于第一设定阈值的字段值确定为第二异常字段值;

合并第一异常字段值与第二异常字段值,生成异常字段值报告。

可选的,针对字符型的字段集合,第二评估模块23,还用于:

针对字符型的字段集合中包括的各个字段,执行:

利用编辑距离相似度计算当前字段中任意两两字段值之间的相似度;

将相似度大于第二设定阈值的两个字段值确定为重复字段值;

基于重复字段值生成重复字段值结果报告。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1