CN104317801B - 一种面向大数据的数据清洗系统及方法 - Google Patents
一种面向大数据的数据清洗系统及方法 Download PDFInfo
- Publication number
- CN104317801B CN104317801B CN201410483041.0A CN201410483041A CN104317801B CN 104317801 B CN104317801 B CN 104317801B CN 201410483041 A CN201410483041 A CN 201410483041A CN 104317801 B CN104317801 B CN 104317801B
- Authority
- CN
- China
- Prior art keywords
- data
- similar
- metadata
- record
- similarity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种面向大数据的数据清洗系统及方法,该系统应用层包括数据解析抽取模块、相似连接模块、相似子图聚集模块、实体采样模块、概率计算与实体查询模块,存储层利用Hadoop提供的分布式存储工具HDFS对数据清洗过程中产生的结构化数据记录、相似数据记录对、相似连通子图进行存储,利用Hadoop提供的分布式存储工具HBase对清洗后的结构化数据记录进行存储。该方法包括获取待清洗数据;相似连接;相似子图聚集;实体采样;概率计算与实体查询。本发明是一种面向大数据的数据清洗系统与不确定数据确定化方法,解决了以往的集中式的相似性连接无法适应大规模数据运算的问题,充分利用图以及相关知识创造性的完成大数据清洗,并为海量数据分析提供了数据准备。
Description
技术领域
本发明属于数据挖掘技术领域,具体涉及一种面向大数据的数据清洗系统及方法。
背景技术
近年来,随着信息化技术的迅猛发展,收集、存储、处理和分析的数据量越来越大。面向大数据的处理越来越火,区别于传统的数据结构化特点,大数据有三个特点,包括海量性、分布性、和异构性。其海量性主要是指数据规模的巨大并且增长速度持续增加;其分布性主要体现在巨大的数据量不能在一台机器上存储计算和分析;其异构性主要体现在数据类型和数据来源的多样化。利用传统的面向结构化数据的集中式处理方式,很难解决大数据带来的问题,针对这三个特性,面向大数据的集成和清洗变得尤为重要。大数据同时还包含不确定性数据,现阶段不确定数据产生的原因比较多样化,主要体现在原始数据不准确、使用粗粒度数据集合、数据字段缺失以及数据集成。
处理大数据问题中的关键是对数据采用分布式存储与分布式计算。目前,世界流行的关于大数据计算的模型是key-value模型,最具有代表性的就是Apache公司提出的Hadoop计算模型MapReduce,Hadoop的出现为解决大数据问题提供了一个可靠地解决方案。
发明内容
针对现有技术存在的问题,本发明提供一种面向大数据的数据清洗系统及方法。
本发明的技术方案是:
一种面向大数据的数据清洗系统,包括应用层与存储层;
应用层包括数据解析抽取模块、相似连接模块、相似子图聚集模块、实体采样模块、概率计算与实体查询模块;
数据解析抽取模块用于对不同数据源的xml文件形式数据进行解析抽取,得到结构化数据记录,不同数据源的xml文件形式数据为数据集成过程中的不确定数据;
相似连接模块用于对结构化数据记录进行相似连接,即相似度大于设定阈值的两条结构化数据记录为相似数据记录对,该两条相似数据记录对应的id构成相似数据记录id对,得到相似数据记录id对及其相似度;
相似子图聚集模块用于将所有相似数据记录id对聚集在一起,形成相似连通子图,相似连通子图中的顶点代表结构化数据记录;
实体采样模块用于对相似连通子图进行多次重复采样,得到若干个实体采样结果;
概率计算与实体查询模块用于计算实体采样结果中每个顶点存在的概率从而完成数据清洗,根据需求对清洗后的结构化数据记录查询;
存储层利用Hadoop提供的分布式存储工具HDFS对数据清洗过程中产生的结构化数据记录、相似数据记录对、相似连通子图进行存储,利用Hadoop提供的分布式存储工具HBase对清洗后的结构化数据记录进行存储。
采用所述的面向大数据的数据清洗系统的数据清洗方法,包括以下步骤:
步骤1:获取待清洗数据,对不同数据源的xml文件形式数据进行解析抽取,得到结构化数据记录,不同数据源的xml文件形式数据为数据集成过程中的不确定数据;
步骤1-1:数据解析抽取:解析xml文件形式数据,对xml文件按行读取,读取xml文件标签,将xml文件转换成结构化数据记录,并相应产生结构化数据记录id;
步骤1-2:数据补齐:对结构化数据记录中缺失字段进行补齐;
步骤1-3:key等值过滤:对结构化数据记录中解析抽取产生的id不同且xml文件形式数据中的key字段值相同的数据进行消重;
步骤2:相似连接:对结构化数据记录进行相似连接,得到相似度大于设定阈值的两条结构化数据记录对应的id对及其对应相似度,该两条相似数据记录对应的id为相似数据记录id对;
步骤2-1:词频统计:对连接属性进行词频统计并对词频采用升序排序;连接属性为计算相似度的结构化数据记录中的一个字段;
步骤2-2:相似连接:利用词频统计结果过滤掉完全不满足设定阈值的结构化数据记录对,并对过滤后的各结构化数据记录进行相似度计算,得到相似度大于设定阈值的两条结构化数据记录对应的id对及其对应相似度,相似度大于设定阈值的两条结构化数据记录对应的id对即相似数据记录id对;
步骤2-3:将相似数据记录id对进行恢复与消重处理:对相似数据记录id对进行消重处理,并将相似数据记录id对恢复成相似数据记录对;
步骤3:相似子图聚集:将所有相似数据记录id对聚集在一起,形成相似连通子图;
步骤3-1:分配相似数据记录对哈希值,该哈希值为相似数据记录对中较小的id;
步骤3-2:对相似数据记录对迭代计算,判断迭代计算过程中产生的新的哈希值是否小于当前的哈希值,是,则更新哈希值,用新的哈希值替换当前的哈希值,否则保持当前的哈希值,迭代结束条件为哈希值不再更新或者迭代次数达到设定值;
步骤3-3:聚集哈希值相同的相似数据记录对,得到相似连通子图,相似连通子图中的顶点代表结构化数据记录,顶点之间的边代表该两条结构化数据记录的相似度;
步骤4:实体采样;对相似连通子图进行多次重复采样,得到若干个实体采样结果;
步骤4-1:对相似连通子图中的边即两条结构化数据记录的相似度进行随机采样,得到若干连通子图;
步骤4-2:对各连通子图中的各顶点进行评分,即该顶点的置信度与该顶点与其所有相邻顶点相似度的和的乘积,保留评分大的顶点,其中置信度是根据数据源质量进行设定的;
步骤4-3:重复步骤4-1和步骤4-2,进行多次重复采样过程;
步骤5:概率计算与实体查询:计算实体采样结果中每个顶点存在的概率从而完成数据清洗,根据需求对清洗后的结构化数据记录查询;
实体采样结果中每个顶点存在的概率为每个顶点在多次重复采样结果中出现的频率。
有益效果:
本发明是一种面向大数据的数据清洗系统与不确定数据确定化方法,解决了以往的集中式的相似性连接无法适应大规模数据运算的问题,借助现有技术充分利用图以及相关知识创造性的完成大数据清洗,使得处理和分析海量数据成为可能,并为海量数据分析提供了数据准备。本发明在分布式环境下对海量数据进行数据清洗,实现了一种基于MapReduce的集合相似性连接计算过程,该计算用以实现寻找相似的实体;依据相似实体,实现相似子图聚集功能,用于寻找相关联的实体;通过采样技术,实现对子图的不确定采样功能,该过程实现了用确定化方法来处理不确定数据。面向大数据的数据清洗实现过程中主要采用HDFS和HBase作为存储平台,采用相似连接技术和图挖掘技术以及数据采样来完成对数据的清洗,为数据分析提供准备基础。
附图说明
图1为本发明实施方式的分布式体系结构示意图;
图2为本发明实施方式中引文关系处理示意图;
图3为本发明实施方式基于MapReduce相似连接过程图;
图4为本发明实施方式词频统计与排序数据流图;
图5为本发明实施方式基于MapReduce的相似连接数据流图;
图6为本发明实施方式基于MapReduce恢复相似记录对数据流图;
图7为本发明实施方式基于MapReduce构建相似连通子图数据流图;
图8为本发明实施方式相似连通子图构建过程示意图;
图9为本发明实施方式相似连通子图结果示意图;
图10为本发明实施方式一次采样过程示意图。
具体实施方式
下面结合附图对本发明的具体实施方式做详细说明。
经过近年对大数据的研究,大数据的集成与分析是大数据实现价值转化的关键所在,而大数据的集成更是分析的基础。只有将不同的数据和信息正确的集成到一起,才能发挥出大数据的价值。因此大数据下的数据集成技术是实现大数据价值转化所必须解决的挑战。其中相似连接(Similarity joins)是数据集成中的关键技术。
在数据集中,一些记录可能会以不同的形式重复存在,找出这些相似记录就需要用到相似连接技术。相似连接技术可以在数据集成中对数据集中的重复记录进行检测,并将可能是同一实体的记录进行合并,有效地消除数据集内部的数据不一致。通过使用采样技术达到实现将不确定数据确定化处理,并且计算出数据的概率。
因此,在本发明的具体实施例中,根据数据的连接属性即需要进行相似连接计算的字段,将数据进行相似性连接,由相似记录对构成相似连通子图,对子图进行采样,来实现将不确定数据确定化的目的。
一种面向大数据的数据清洗系统,如图1所示,包括应用层与存储层;
应用层包括数据解析抽取模块、相似连接模块、相似子图聚集模块、实体采样模块、概率计算与实体查询模块。
数据解析抽取模块用于对不同数据源的xml文件形式数据进行解析抽取,得到结构化数据记录,不同数据源的xml文件形式数据为数据集成过程中的不确定数据。
相似连接模块用于对结构化数据记录进行相似连接,得到相似数据记录id对及其对应相似度;相似度大于设定阈值的两条结构化数据记录为相似数据记录对,该两条相似数据记录的id构成相似数据记录id对。
相似子图聚集模块用于将所有相似数据记录id对聚集在一起,形成相似连通子图,相似连通子图中的顶点代表结构化数据记录。
实体采样模块用于对相似连通子图进行多次重复采样,得到若干个实体采样结果。
概率计算与实体查询模块用于计算实体采样结果中每个顶点存在的概率从而完成数据清洗,根据需求对清洗后的结构化数据记录查询。
存储层利用Hadoop提供的分布式存储工具HDFS对数据清洗过程中产生的结构化数据记录、相似数据记录对、相似连通子图进行存储,利用Hadoop提供的分布式存储工具HBase对清洗后的结构化数据记录进行存储。
采用所述的面向大数据的数据清洗系统的数据清洗方法,包括以下步骤:
步骤1:获取待清洗数据,对不同数据源的xml文件形式数据进行解析抽取,得到结构化数据记录,不同数据源的xml文件形式数据为数据集成过程中的不确定数据。
步骤1-1:数据解析抽取:解析xml文件形式数据,对xml文件按行读取,读取xml文件标签,将读取到的字符串形式的xml文件标签交给SAX解析,SAX根据配置文件对记录各xml文件标签进行解析,将xml文件转换成结构化数据记录,形成CSV文件,并相应产生结构化数据记录id;
在解析过程中,可以自定义配置文件,配置文件主要属性包括待解析XML文件路径、解析后CSV文件存放路径、记录id前缀、标签解析分隔符、需要抽取节点路径、CSV文件列名。
步骤1-2:数据补齐:对结构化数据记录中缺失字段进行补齐;
利用高质量数据对现有结构化数据记录的title字段进行补齐:首先将高质量数据加载到分布式缓存中,利用map-join的方法对低质量数据的相应字段进行补齐。
步骤1-3:key等值过滤:对结构化数据记录中解析抽取产生的id不同且xml文件形式数据中的key字段值相同的数据进行消重;
key等值过滤是为了实现将具有相同key值但是由于多次解析造成的id不同的数据进行消重,该过程由一个MapReduce过程实现,在map阶段将各条记录用key作为Mapreduce中的键值分发,在Reduce过程中,将同一个键值对应的多条记录合并为同一条记录,以达到消重的目的。
由于Citeseerx中引文均为原数据中的key值,因此为了统一待清洗数据,将引文中的key替换为解析抽取过程中产生的id值,引文关系处理如图2所示;
引文关系处理过程中主要分为三个阶段,现以id分别为1、2、3为例来说明,其中Citesserx中的key值分别为Key1、Key2、Key3,阶段1将relation字段的key值进行抽取分割,并对id进行倒排;在阶段2对id字段和key字段进行倒排,最后一个阶段3,将数据进行合并,以reduce迭代器中的内容作为key-value输出。这样将relation中Citesserx的key替换为现阶段的id,如图2所示,id为1的引文relation中对应的id分别为2和3。
步骤2:相似连接:对结构化数据记录进行相似连接,得到相似度大于设定阈值的两条结构化数据记录对应的id对及其对应相似度,该两条相似数据记录对应的id为相似数据记录id对。
步骤2-1:词频统计:对连接属性进行词频统计并对词频采用升序排序;连接属性为计算相似度的结构化数据记录中的一个字段;
步骤2-2:相似连接:利用词频统计结果过滤掉完全不满足设定阈值的结构化数据记录对,并对过滤后的各结构化数据记录进行相似度计算,得到相似度大于设定阈值的两条结构化数据记录对应的id对及其对应相似度,相似度大于设定阈值的两条结构化数据记录对应的id对即相似数据记录id对;
步骤2-3:将相似数据记录id对进行恢复与消重处理:对相似数据记录id对进行消重处理,并将相似数据记录id对恢复成相似数据记录对;
相似连接是数据清洗中的重要组成部分,设定不同的阈值会得到不同的结果。实现基于MapReduce的相似连接流程分为三个阶段,如图3所示,第一个阶段是对词频进行统计;第二个阶段是对词频统计表和解析抽取得到的结构化数据记录作为输入,得到满足相似度阈值的相似数据记录id对和相似度;第三阶段是使用第二阶段产生的相似数据记录id对和解析抽取得到的结构化数据记录得到最终的实体记录对的连接结果。
基于MapReduce的词频统计总共需要两个MapReduce过程:
第一个MapReduce阶段实现对单词进行计数,统计,得到每个单词在所有title中出现的次数。
第二个MapReduce阶段,将上一阶段中得到的key-value值进行翻转,利用reduce将所有单词按照词频递增的顺序进行排序,从而得到token序。
基于MapReduce的词频统计如图4所示。假设需要计算的数据字段是Title,用字母来替代各种单词,那么经过两个MapReduce可以得到单词频数排序,为{G,A,C,B,D,E,F}。
在相似连接阶段,以词频统计表和解析得到的结构化数据记录对作为输入,得到满足相似度阈值的相似数据记录id对以及该两条记录的相似度。在该过程中,应用前缀过滤技术。利用Jaccard算法计算得到的相似度,每条结构化数据记录的前缀长度定义为:|x|-t|x|+1,其中x表示字符串长度,t为Jaccard阈值。取t为0.8,那么结构化数据记录1的前缀长度为|5|-0.8×|5|+1=2,根据词频统计阶段得到的结果,结构化数据记录1的前缀为{A,B},同理,结构化数据记录2的前缀为{C}。
在Map阶段:根据前缀过滤原则,首先根据相似度阈值与字符串title长度确定前缀长度n,根据token频率升序排序选取前n个token作为输出的key,并且以该结构化数据记录的id作为value值输出。
Reduce阶段,利用Jaccard相似度算法计算同一迭代器中两两结构化数据记录的相似度,将满足相似度阈值的相似数据记录对进行输出。
如图5,Title中加粗下划线单词为前缀。根据形成的候选集计算Jaccard系数。Jaccard计算公式为其中A,B代表不同的集合,|A∩B|代表集合交集个数,|A∪B|代表集合并集个数。
得到最终满足设定阈值的记录结果<2,3>,即相似数据记录id对。
为了得到完整的信息,对在相似连接过程中得到的相似数据记录id对进行恢复。如图6所示,通过对原始结构化数据记录和相似数据记录对的map-join计算最终得到完整的数据集,以图6为例,对相似数据记录对<2,3>进行恢复,得到完整记录,用于查询。
步骤3:相似子图聚集:将所有相似数据记录id对聚集在一起,形成相似连通子图;
步骤3-1:分配相似数据记录对哈希值,该哈希值为相似数据记录对中较小的id;
步骤3-2:对相似数据记录对迭代计算,判断迭代计算过程中产生的新的哈希值是否小于当前的哈希值,是,则更新哈希值,用新的哈希值替换当前的哈希值,否则保持当前的哈希值,迭代结束条件为哈希值不再更新或者迭代次数达到设定值;
步骤3-3:聚集哈希值相同的相似数据记录对,得到相似连通子图,相似连通子图中的顶点代表结构化数据记录,顶点之间的边代表该两条结构化数据记录的相似度;
在数据清洗过程中需要对实体进行识别,所以,需要将相似连接阶段得到的所有相似数据记录对聚集到一起,相似子图聚集利用相似数据记录对,基于集合相交理论对构建相似子图。如果将相似数据记录对看作两顶点之间的一条边,那么相似连通子图划分的过程实际上是寻找以公共最小父节点的树。基于MapReduce实现的子图划分的方法包括多个迭代过程,每个迭代包括两个MapReduce过程。MapReduce构建连接相似连通子图的流程如图7所示,其中,r、s表示id,sim代表相似度。主要包括以下步骤:
(1)首先对数据进行初始化处理,为每个相似数据记录对初始化hash值,默认hash值为相似记录对编号较小的节点值。如图7中阶段1所示记录对<1,2,0.8>的哈希值为1。
(2)第一个MapReduce阶段的map函数对每个相似数据记录对进行分发,为了能让所有关联的相似数据记录对有同一个hash值,map函数提取相似数据记录对的两个节点s和r,分别作为map输出的key,将相似数据记录对及它的hash值作为map输出的value,这样就能保证所有关联的相似数据记录对被划分到同一个reduce函数,如相似数据记录对<1,2,0.8>和<2,3,0.9>被划分到了同一个reduce函数。
(3)第一个MapReduce阶段的reduce函数对划分到同一个组内的相似数据记录对更新其hash值,hash值更新为该组内最小的hash值。例如对于一个组内的相似数据记录对<1,2,0.8>和<2,3,0.9>其hash值分别为1和2,更新之后hash值均变为最小值1。reduce将相似数据记录对<s,r,sim>作为输出的key,更新后的hash值作为输出的value。
(4)第二个MapReduce阶段的map函数以第一阶段的输出作为输入数据,对数据不做任何处理直接输出,以相似数据记录对<s,r,sim>作为输出的key可以保证同一个相似数据记录对划分到同一个reduce函数。reduce函数对同一组的相似数据记录对进行合并,hash值为最小值。例如<2,3,0.9>对应两个hash值1和2,合并后hash值变为1。
对上述过程进行迭代,直到满足迭代次数限制或者结果集没有变化位置,最后所有的相似数据记录对都对应一个hash值,将相同hash值的相似数据记录对划分到同一个集合中。例如<1,2,0.8>和<2,3,0.9>最终的hash值都为1,被划分到同一个集合中。通过使用缓存策略,降低了迭代次数,提高了相似连通子图构建的效率。
如图8所示,形象化地展示了构建相似连通子图的过程,得到的最终数据类型如图9所示,是对最终结果的倒排,以迭代结果的哈希值作为key,经过一个MapReduce可以得到相似连通子图的内容,其中key为每个相似连通子图所有节点所代表结构化数据记录的最小id值。
例如以1为key的value值中包括该连通图的有相似对和相似度。
步骤4:实体采样;对相似连通子图进行多次重复采样,得到若干个实体采样结果;
步骤4-1:对相似连通子图中的边即两条结构化数据记录的相似度进行随机采样,得到若干连通子图;
相似连通子图如图8右图所示,图中的每个顶点表示一个结构化数据记录,即一篇论文,图中边的权重表示相似数据记录对的相似度(0-1之间)。将每个相似子图以矩阵的形式进行存储。矩阵如A:
矩阵A中的aij表示该子图中顶点i和顶点j之间所连边的权值,即论文i与论文j连接属性的相似度。若顶点i与顶点j之间不存在边相连,则默认aij的值为0。然后通过与随机数比较的方式对图进行去边处理,生成该图的所有不连通子图。产生随机数(0-1之间),并将矩阵中的每一个值与每次产生的随机数进行比较,若该值大于等于随机数则保留,反之则置0,生成了该图的所有不连通子图,每个子图中的所有顶点被视为相同的论文。如图10所示,带下划线的数字表示生成的随机数,假设定点<1,2>的随机数为0.9,<2,3>的随机数为0.3,<4,5>的随机数为0.6,那么最终得到采样后的连通子图。在具体实现,矩阵A计算后可以得到矩阵B。
步骤4-2:对各连通子图中的各顶点进行评分,即该顶点的置信度与该顶点与其所有相邻顶点相似度的和的乘积,保留评分大的顶点,其中置信度是根据数据源质量进行指定的。
从每个连通子图中选取评分最高的顶点作为输出,即在被视为相同的论文中选取置信度最高的一篇。首先,以查询论文id号的方式判断论文的来源(如DBLP、CITESEER等),并通过子图中与每个顶点相连的边的权值和论文来源的置信度计算出每个子图中所有顶点的评分。
评分=该顶点相连的所有边的权重之和×该论文来源的置信度
然后保留每个子图中评分最高的顶点,若有多个顶点的评分相同,则随机保留一个顶点,这样就抽取出了不重复且置信度高的论文。最后,将所有子图中被保留顶点所对应的论文id号进行输出。在计算过程中是以矩阵进行计算的,所以以矩阵B为例,单个顶点1,被保留,假设顶点2和顶点3分别来自不同的数据源,顶点2的置信度为0.8,顶点3的置信度为0.2,那么顶点2的评分=(0+1+0.9+0+0+0-1)*0.8=0.72,顶点3的评分为=(0+0.9+1+0+0+0-1)*0.2=0.18,那么保留顶点2。同理顶点4置信度为0.8,评分为0.68,顶点5的置信度为0.2,评分为0.17,保留顶点4。那么在数据去重阶段的输出为{1,2,4}。
步骤4-3:重复步骤4-1和步骤4-2,进行多次重复采样过程;
利用MapReduce技术,对连通子图进行连续采样处理。Map阶段对每一个连通图利用上述两个步骤提到的采样过程,选出被保留的论文id。同时,将选定的论文id打上标记,表示该结果是第几次采样而来,标记格式:XXX-id,比如000-id即表示第一次采样后得到的论文id,重复此过程1000次。Reduce阶段根据结果集中的id按前缀相同的写入同一个文件,并且文件名命名为该前缀XXX.txt,如所有000前缀的论文id最后都被写到000.txt文件中。这样就得到了1000个采样文件。
步骤5:概率计算与实体查询:计算实体采样结果中每个顶点存在的概率从而完成数据清洗,根据需求对清洗后的结构化数据记录查询;
实体采样结果中每个顶点存在的概率为每个顶点在多次重复采样结果中出现的频率。
根据用户查询需求,输入查询条件,例如假设进行key关键字查询,用户输入查询条件:作者Guoren Wang,每个采样文件会产生一个确定化结果,根据确定化结果来计算概率,如果Guoren Wang有论文A,A在1000次采样的结果中出现了990次,那么该记录<GuorenWang,A>的概率是0.990,如果Guoren Wang有论文B,B在1000次采样的结果中出现了999次,那么该记录<Guoren Wang,A>的概率是0.999。
如果以输入论文题目为例,输入Language Models for XML Element Retrieval,那么查询后得到的结果如下表所示:
表1 查询结果
第一篇论文存在的概率为1.0,第二篇论文存在的概率是0.997。
虽然以上描述了本发明的具体实施方式,但是本领域内的熟练的技术人员应当理解,这些仅是举例说明,本发明是面向大数据的数据清洗和以及提出了不确定数据确定化方法,因此举例说明仅仅是为了说明清洗机制的核心思想和主要运算,该机制同样适用于大数据计算,并且为以后的数据分析如OLAP提供了一个数据支持。在之后的研究中可以对这些实施方式做出多种变更或者修改,而不背离本发明的原理和实质。本发明的范围仅由所附权利要求书限定。
Claims (3)
1.一种数据清洗方法,采用一种面向大数据的数据清洗系统,包括应用层与存储层;
应用层包括数据解析抽取模块、相似连接模块、相似子图聚集模块、实体采样模块、概率计算与实体查询模块;
数据解析抽取模块用于对不同数据源的xml文件形式数据进行解析抽取,得到结构化数据记录,不同数据源的xml文件形式数据为数据集成过程中的不确定数据;
相似连接模块用于对结构化数据记录进行相似连接,即相似度大于设定阈值的两条结构化数据记录为相似数据记录对,该两条相似数据记录对应的id构成相似数据记录id对,得到相似数据记录id对及其相似度;
相似子图聚集模块用于将所有相似数据记录id对聚集在一起,形成相似连通子图,相似连通子图中的顶点代表结构化数据记录;
实体采样模块用于对相似连通子图进行多次重复采样,得到若干个实体采样结果;
概率计算与实体查询模块用于计算实体采样结果中每个顶点存在的概率从而完成数据清洗,根据需求对清洗后的结构化数据记录查询;
存储层利用Hadoop提供的分布式存储工具HDFS对数据清洗过程中产生的结构化数据记录、相似数据记录对、相似连通子图进行存储,利用Hadoop提供的分布式存储工具HBase对清洗后的结构化数据记录进行存储,便于查询;
该方法包括以下步骤:
步骤1:获取待清洗数据,对不同数据源的xml文件形式数据进行解析抽取,得到结构化数据记录,不同数据源的xml文件形式数据为数据集成过程中的不确定数据;
步骤2:相似连接:对结构化数据记录进行相似连接,得到相似度大于设定阈值的两条结构化数据记录对应的id对及其对应相似度,该两条相似数据记录对应的id为相似数据记录id对;
步骤3:相似子图聚集:将所有相似数据记录id对聚集在一起,形成相似连通子图;
步骤4:实体采样;对相似连通子图进行多次重复采样,得到若干个实体采样结果;
步骤5:概率计算与实体查询:计算实体采样结果中每个顶点存在的概率从而完成数据清洗,根据需求对清洗后的结构化数据记录查询;
其特征在于:
所述步骤3按如下步骤进行:
步骤3-1:分配相似数据记录对哈希值,该哈希值为相似数据记录对中较小的id;
步骤3-2:对相似数据记录对迭代计算,判断迭代计算过程中产生的新的哈希值是否小于当前的哈希值,是,则更新哈希值,用新的哈希值替换当前的哈希值,否则保持当前的哈希值,迭代结束条件为哈希值不再更新或者迭代次数达到设定值;
步骤3-3:聚集哈希值相同的相似数据记录对,得到相似连通子图,相似连通子图中的顶点代表结构化数据记录,顶点之间的边代表该两条结构化数据记录的相似度;
所述步骤4按如下步骤进行:
步骤4-1:对相似连通子图中的边即两条结构化数据记录的相似度进行随机采样,得到若干连通子图;
步骤4-2:对各连通子图中的各顶点进行评分,即该顶点的置信度与该顶点与其所有相邻顶点相似度的和的乘积,保留评分大的顶点;
步骤4-3:重复步骤4-1和步骤4-2,进行多次重复采样过程;
所述实体采样结果中每个顶点存在的概率为每个顶点在多次重复采样结果中出现的频率。
2.根据权利要求1所述的数据清洗方法,其特征在于:所述步骤1按如下步骤进行:
步骤1-1:数据解析抽取:解析xml文件形式数据,对xml文件按行读取,读取xml文件标签,将xml文件转换成结构化数据记录,并相应产生结构化数据记录id;
步骤1-2:数据补齐:对结构化数据记录中缺失字段进行补齐;
步骤1-3:key等值过滤:对结构化数据记录中解析抽取产生的id不同且xml文件形式数据中的key字段值相同的数据进行消重。
3.根据权利要求1所述的数据清洗方法,其特征在于:所述步骤2按如下步骤进行:
步骤2-1:词频统计:对连接属性进行词频统计并对词频采用升序排序;连接属性为计算相似度的结构化数据记录中的一个字段;
步骤2-2:相似连接:利用词频统计结果过滤掉完全不满足设定阈值的结构化数据记录对,并对过滤后的各结构化数据记录进行相似度计算,得到相似度大于设定阈值的两条结构化数据记录对应的id对及其对应相似度,相似度大于设定阈值的两条结构化数据记录对应的id对即相似数据记录id对;
步骤2-3:将相似数据记录id对进行恢复与消重处理:对相似数据记录id对进行消重处理,并将相似数据记录id对恢复成相似数据记录对。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410483041.0A CN104317801B (zh) | 2014-09-19 | 2014-09-19 | 一种面向大数据的数据清洗系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410483041.0A CN104317801B (zh) | 2014-09-19 | 2014-09-19 | 一种面向大数据的数据清洗系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104317801A CN104317801A (zh) | 2015-01-28 |
CN104317801B true CN104317801B (zh) | 2017-07-18 |
Family
ID=52373033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410483041.0A Active CN104317801B (zh) | 2014-09-19 | 2014-09-19 | 一种面向大数据的数据清洗系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104317801B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104679834B (zh) * | 2015-02-06 | 2018-01-16 | 北京工商大学 | 一种时序数据清洗方法及系统 |
CN106874272B (zh) * | 2015-12-10 | 2020-02-14 | 华为技术有限公司 | 一种分布式连接方法及系统 |
CN105488212B (zh) * | 2015-12-11 | 2019-06-14 | 广东精点数据科技股份有限公司 | 一种重复数据的数据质量检测方法及装置 |
CN105677757B (zh) * | 2015-12-30 | 2019-03-26 | 东北大学 | 一种基于双缀过滤的大数据相似性连接方法 |
CN105677840B (zh) * | 2016-01-06 | 2019-02-05 | 东北大学 | 一种基于多维渐增数据模型的数据查询方法 |
US10423652B2 (en) * | 2016-08-08 | 2019-09-24 | Baidu Usa Llc | Knowledge graph entity reconciler |
CN106202569A (zh) * | 2016-08-09 | 2016-12-07 | 北京北信源软件股份有限公司 | 一种基于大数据量的清洗方法 |
CN109101507B (zh) * | 2017-06-20 | 2023-09-26 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN108009195B (zh) * | 2017-10-23 | 2022-06-28 | 环亚数据技术有限公司 | 一种基于大数据的降维转换方法、电子设备、存储介质 |
CN109522292B (zh) * | 2018-08-29 | 2020-02-18 | 云南电网有限责任公司信息中心 | 基于电网标准统一信息模型的数据处理装置和方法 |
CN109408578B (zh) * | 2018-10-30 | 2020-07-31 | 环境保护部华南环境科学研究所 | 一种针对异构环境监测数据融合方法 |
CN109299051A (zh) * | 2018-12-10 | 2019-02-01 | 浪潮(北京)电子信息产业有限公司 | 一种性能数据文件管理方法及相关装置 |
CN110019253B (zh) * | 2019-04-18 | 2021-10-12 | 北京邮电大学 | 一种分布式的图数据序列采样方法及装置 |
CN111259554B (zh) * | 2020-01-20 | 2022-03-15 | 山东大学 | 推土机变矩变速装置螺栓装配大数据检测方法及系统 |
CN111581489B (zh) * | 2020-05-22 | 2023-03-24 | 哈尔滨工程大学 | 一种基于共享计数树的存储空间优化采样方法 |
US11474983B2 (en) * | 2020-07-13 | 2022-10-18 | International Business Machines Corporation | Entity resolution of master data using qualified relationship score |
CN112416920B (zh) * | 2020-12-01 | 2023-01-24 | 北京理工大学 | 一种面向mes的数据清洗方法及系统 |
CN112783883B (zh) * | 2021-01-22 | 2024-09-06 | 广东电网有限责任公司东莞供电局 | 一种多源数据接入下数据标准化清洗方法和装置 |
CN113986908B (zh) * | 2021-12-24 | 2022-04-15 | 昆仑智汇数据科技(北京)有限公司 | 一种工业设备数据的处理方法、装置及设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559225A (zh) * | 2013-10-21 | 2014-02-05 | 北京航空航天大学 | Web服务资源库数据的清洗方法和服务器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8140582B2 (en) * | 2008-10-07 | 2012-03-20 | International Business Machines Corporation | Service oriented architecture aggregation |
-
2014
- 2014-09-19 CN CN201410483041.0A patent/CN104317801B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559225A (zh) * | 2013-10-21 | 2014-02-05 | 北京航空航天大学 | Web服务资源库数据的清洗方法和服务器 |
Non-Patent Citations (2)
Title |
---|
聚类反馈学习的数据清洗研究;石彦华等;《计算机工程与应用》;20111231;第47卷(第30期);127-131 * |
面向XML的智能数据清洗策略;刘波等;《中国科技论文在线》;20070619;1-8页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104317801A (zh) | 2015-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104317801B (zh) | 一种面向大数据的数据清洗系统及方法 | |
WO2020135048A1 (zh) | 知识图谱的数据融合方法和装置 | |
CN104933164B (zh) | 互联网海量数据中命名实体间关系提取方法及其系统 | |
Kollias et al. | Network similarity decomposition (nsd): A fast and scalable approach to network alignment | |
CN105393263B (zh) | 计算机‑人交互式学习中的特征完成 | |
Olmezogullari et al. | Representation of click-stream datasequences for learning user navigational behavior by using embeddings | |
CN104268148A (zh) | 一种基于时间串的论坛页面信息自动抽取方法及系统 | |
CN104598536B (zh) | 一种分布式网络信息结构化处理方法 | |
WO2015051481A1 (en) | Determining collection membership in a data graph | |
CN104156635B (zh) | 基于公共子序列的基因芯片表达数据的opsm挖掘方法 | |
Nargesian et al. | Data lake organization | |
CN110119478A (zh) | 一种结合多种用户反馈数据的基于相似度的物品推荐方法 | |
Ahmadi et al. | Unsupervised matching of data and text | |
CN105740387B (zh) | 一种基于作者频繁模式的科技文献推荐方法 | |
CN104156431B (zh) | 一种基于实体图社团结构的rdf关键词查询方法 | |
Zheng et al. | Efficient simrank-based similarity join | |
Chu et al. | Automatic data extraction of websites using data path matching and alignment | |
Kosmatopoulos et al. | An overview of methods for handling evolving graph sequences | |
Taheriyan et al. | Leveraging Linked Data to Infer Semantic Relations within Structured Sources. | |
CN115982390B (zh) | 一种产业链构建和迭代扩充开发方法 | |
Liu et al. | Significant-attributed Community Search in Heterogeneous Information Networks | |
Xylogiannopoulos et al. | Clickstream analytics: an experimental analysis of the amazon users' simulated monthly traffic | |
Tsitseklis et al. | Scalable community detection for complex data graphs via hyperbolic network embedding and graph databases | |
Zada et al. | Large-scale data integration using graph probabilistic dependencies (gpds) | |
Wang et al. | A Markov logic network method for reconstructing association rule-mining tasks in library book recommendation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220322 Address after: 100081 No. 5 South Main Street, Haidian District, Beijing, Zhongguancun Patentee after: BEIJING INSTITUTE OF TECHNOLOGY Address before: 110819 No. 3 lane, Heping Road, Heping District, Shenyang, Liaoning 11 Patentee before: Northeastern University |