一种基于数据仓库的数据清洗方法

文档序号:8381056阅读:2337来源:国知局
一种基于数据仓库的数据清洗方法
【技术领域】
[0001]本发明涉及计算机数据处理技术领域,具体地说是一种基于数据仓库的数据清洗方法。
【背景技术】
[0002]信息技术的飞速发展,使组织领导者对数据的依赖性越来越强。于是在数据库的基础上产生了能够满足决策分析所需要的数据环境——数据仓库。但是从异构的数据源导入数据仓库的数据中会存在各种各样的问题,所以必须对其进行数据清洗来提高其质量。数据仓库是一个面向主题的、集成的、相对稳定的、反应历史变化的数据集合,数据仓库是对多个异构数据源的集合,集成后按照主题进行了重组。
[0003]在数据库中从多数据源中抽取数据时,由于各数据源数据表结构的设计可能不相同,完成从多数据源到数据仓库的数据迁移时,同样会产生一些冗余或者错误信息。若不进行清洗,这些脏数据会对数据仓库系统造成不良影响,扭曲从数据中或得的信息,影响数据仓库的运行效果。
[0004]由于存在多种不同的脏数据,而检测这些脏数据往往需要借助特定的领域知识。缺损数据,相似重复记录都是最为常见的脏数据,对他们进行清洗有一定的困难。数据集的数据质量,是由很多因素造成的,包括数据集的正确性、完整性、一致性和可用性等诸多因素。
[0005]根据数据清洗的实现方式与内容,可将数据清洗分为四类:
I)用人工检测所有的错误并改正。这只能针对小批量的数据源。
[0006]2)通过专门编写的程序,但通常数据清洗是一个反复进行的过程,导致清洗过程复杂。
[0007]3)某类特定应用领域的问题。如根据概率统计学原理查找数值异常记录。
[0008]4)与特定领域无关的数据清洗。主要指在特地行业中,业务表间关联的清洗,业务表与公用数据字典间的关联清洗,表中空值的清洗,不合逻辑的数据的清洗。

【发明内容】

[0009]本发明的技术任务是提供一种基于数据仓库的数据清洗方法。
[0010]本发明的技术任务是按以下方式实现的,该数据清洗方法通过预处理、给属性分配权值、重复记录检测、数据库级的重复记录聚类以及冲突处理五个步骤实现;
预处理:选择用于记录匹配的属性,该属性能代表记录特征;
给属性分配权值:根据属性在决定两条记录相似性中重要程度的不同,为每个属性分配不同的权重;
数据库级的重复记录聚类:在数据库应用检测重复记录的算法中减少比较记录的范围,对整个数据集中的重复记录进行聚类;
冲突处理:合并或者删除检测出的同一重复记录聚类的重复记录,保留其中正确的记录。
[0011]所述的给属性分配权值时,不同的属性赋予不同的权重,重要程度大的分给的权重就大。
[0012]所述的检测重复记录的方法是每条记录都和数据集中其他所有的记录逐个进行匹配比较;一般采取生成排序关键字对数据集进行排序的方法,抽取记录属性的一个子集序列或属性值的子串,为数据集中每条记录计算出一个键值。
[0013]本发明的一种基于数据仓库的数据清洗方法和现有技术相比,能检测大批量的数据源的错误并改正,有效降低清洗过程的复杂程度,提高清洗效率,保证了数据集的正确性、完整性、一致性和可用性,提高数据仓库的运行效果。
【附图说明】
[0014]附图1为一种基于数据仓库的数据清洗方法的原理示意图。
【具体实施方式】
[0015]实施例1:
该数据清洗方法通过预处理、给属性分配权值、重复记录检测、数据库级的重复记录聚类以及冲突处理五个步骤实现;
预处理:选择用于记录匹配的属性,由于数据量很大,该属性能代表记录特征;
给属性分配权值:根据属性在决定两条记录相似性中重要程度的不同,为每个属性分配不同的权重;属性的权重代表一个属性在两条相似记录中的重要程度,在衡量两条记录相似度时,不同的属性赋予不同的权重,重要程度大的分给的权重就大,如姓名属性的权重显然比性别属性的权重高,因为姓名更能反映一条记录的特征。在重复记录的清洗过程中,可以对权重进行调整,以便找出更多的重复记录。
[0016]数据库级的重复记录聚类:在数据库应用检测重复记录的算法中减少比较记录的范围,对整个数据集中的重复记录进行聚类;检测重复记录的最好方法是每条记录都和数据集中其他所有的记录逐个进行匹配比较。该方法的计算复杂度是N(N-1)/2 (N是数据集中的记录条数)。一般采取生成排序关键字对数据集进行排序的方法,抽取记录属性的一个子集序列或属性值的子串,为数据集中每条记录计算出一个键值。
[0017]冲突处理:合并或者删除检测出的同一重复记录聚类的重复记录,保留其中正确的记录,在整个重复记录清洗的流程中,重复记录检测和数据库级的重复记录聚类检测是核心步骤。
[0018]实施例2:
以业务表间的关联的清洗为例:
O选择主表,建立主表与辅表之间的关联。
[0019]2)利用sql语句,将主表left outer join辅表,找出主表中不能关联至辅表的记录。
[0020]3)对不能关联的记录做具体的分析,对于真正的脏数据,可在辅表中增加一条“默认记录”,将主表中不能关联的记录全部关联到辅表中的“默认记录”。
[0021]通过上面【具体实施方式】,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的几种【具体实施方式】。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
【主权项】
1.一种基于数据仓库的数据清洗方法,其特征在于,该数据清洗方法通过预处理、给属性分配权值、重复记录检测、数据库级的重复记录聚类以及冲突处理五个步骤实现; 预处理:选择用于记录匹配的属性,该属性能代表记录特征; 给属性分配权值:根据属性在决定两条记录相似性中重要程度的不同,为每个属性分配不同的权重; 数据库级的重复记录聚类:在数据库应用检测重复记录的算法中减少比较记录的范围,对整个数据集中的重复记录进行聚类; 冲突处理:合并或者删除检测出的同一重复记录聚类的重复记录,保留其中正确的记录。
2.根据权利要求1所述的一种基于数据仓库的数据清洗方法,其特征在于,所述的给属性分配权值时,不同的属性赋予不同的权重,重要程度大的分给的权重就大。
3.根据权利要求1所述的一种基于数据仓库的数据清洗方法,其特征在于,所述的检测重复记录的方法是每条记录都和数据集中其他所有的记录逐个进行匹配比较;一般采取生成排序关键字对数据集进行排序的方法,抽取记录属性的一个子集序列或属性值的子串,为数据集中每条记录计算出一个键值。
【专利摘要】本发明公开了一种基于数据仓库的数据清洗方法,该数据清洗方法包括预处理、给属性分配权值、重复记录检测、数据库级的重复记录聚类以及冲突处理;预处理:选择用于记录匹配的属性,该属性能代表记录特征;给属性分配权值:根据属性在决定两条记录相似性中重要程度的不同,为每个属性分配不同的权重;数据库级的重复记录聚类:在数据库应用检测重复记录的算法中减少比较记录的范围,对整个数据集中的重复记录进行聚类;冲突处理:合并或者删除检测出的同一重复记录聚类的重复记录,保留其中正确的记录。本发明能检测大批量的数据源的错误并改正,有效降低清洗过程的复杂程度,提高清洗效率,保证了数据集的质量,提高数据仓库的运行效果。
【IPC分类】G06F17-30
【公开号】CN104699796
【申请号】CN201510118379
【发明人】焦毓葳, 孙海峰, 王传超
【申请人】浪潮集团有限公司
【公开日】2015年6月10日
【申请日】2015年3月18日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1