大数据云清洗系统的设计与实现的效果观察目录
0引言
1相关工作
2云清洗系统概述
3数据清洗操作
3. 1清洗操作
3. 2算法实现
1实体识别
2不一致性检测和修复
3缺值填充
4真值发现
4用户功能接口
1任务提交
正文
摘要数据清洗时是大数据中一个重要的主题。本文基于Hadoop设计并实现了一个大数据的云清洗系统。通过Map-Re duce计算模型该系统能够检测并修复数据质量方面的各类问题。该系统包含以下特征 1支持数据质量方面各类问题的清洗工作 2数据云清洗进度可视化的以及参数设置 3友好的数据集输入接口以及清洗后的数据集输出接口。该大数据云清洗系统对文本数据和数据库数据均是一个有效且高效的数据清洗系统
关键字大数据数据质量云清洗 Map-Reduce
中图分类号 TP391文献标识号 A
Design and Implementation of Cloud Clean System on BigData
HUANG Shenbin1 WANG Haijie1 ZHU Zhenhua2
1 Network and Information Center Harbin Ititute ofTechnology Harbin 150001 China
2 School of Computer Science and Technology HarbinItitute of Technology Harbin 150001 China
Abstract Data cleaning is one of the central issues inbig data. The paper describes a cloud clean system based onHadoop for data cleaning. Using Map-Reduce model the systemdetects and repai various data quality problems in big data.The paper desig the system from the following features
1 the support for cleaning multiple data quality problemsin big data 2 a visual tool for watching the status ofbig data cleaning process and tuning the paramete for datacleaning 3 the friendly interface for data input andsetting and cleaned data collection for big data. The cloudclean system is a promising system that provides efficientand effect data cleaning mechanism for big data in eitherfiles or database.
Keywords Big Data Data Quality Cloud Clean Map-R e du c e
0引言
大数据已经广泛地应用于各个领域其数据质量问题逐渐被人们所关注。这主要是由两方面的因素导致的一方面大数据由海量的数据源获得不同的数据来源使其更可能存在不一致冲突和不完整性另
一方面则是因为大数据频繁地变化且难以手动地获取。数据质量问题严重影响着大数据应用的效率 因为低质量数据上的分析和查询容易导致错误结果或者误导性的决策。数据清洗无疑能够提升大数据的利用效率。本文设计并实现了一个大数据云清洗系统提取了数据清洗任务中的基本操作并基于Map-Reduce[1]计算框架实现相应的算法。该系统对多种数据清洗任务均有可观的性能。
1相关工作
虽然已经有很多数据清洗的技术和算法被相继提出但却并非都适用于大数据上。主要原因如下。
首先现有的数据清洗算法的效率并不能满足大数据的需求。并行计算是大数据算法的一个常用手段。然而除了少数实体识别的算法[2-3]外几乎没有其他的并行数据清洗算法获得提出。具有多种数据质量问题的大数据清洗工作的整体效率往往也都不高。
其次现有的数据清洗系统[4-7]集中于数据质量的某一方面。NADEEF[8]支持各种形式的规则但是缺少数据清洗领域的一些重要问题如缺值填充和冲突属性的真值发现等。对于具有多种数据质量问题的大数据而言这往往是不够高效的。究其原因一方面多种数据质量问题需要多个不同的系统来完成各自的数据清洗工作从而导致清洗过程需要多次的导入和导出数据另一方面多个数据质量问题往往可能会共享相同的操作如去除数据冗余[9]和流通数据发现[10]即
都需要实体识别。如果不同的数据质量问题均由各自的清洗系统来完成那么这些相同的操作便将多次执行不利于全局的优化。
最后现有的数据清洗系统常常需要设置参数例如不一致性检测
[11]的约束规则实体识别[12]的阈值。对于小规模数据来说这些规则能够通过人工的观测和理解来设置。然而对于大数据仅靠观察来设置是不合理的而对整个数据人工的遍历一遍更是不可能的。
2云清洗系统概述
清洗大数据的一个很直观、很自然的想法便是将云计算的技术应用其中并将计算任务分布式地分发给多个节点以提高并行度。本文设计的大数据云清洗系统采用的便是这个思路基于Map-Reduce封装实现了数据清洗领域的各类基本问题和清洗操作包括实体识别、不一致性检测和修复、缺值填充和真值发现。
云清洗系统基于Hadoop来实现架构利用Map-Re duce框架系统能够高效地控制硬件资源执行分布式计算。整个系统的数据流如图1所示。 图1数据流
Fig. 1 Data Flow
系统的数据是组织在分布式文件系统中。而输入数据则是通过文件或者数据库来提供前者由用户上传后者将是用户提供数据库的连接信息而由系统来访问。数据输入后存在于分布式文件系统中而集群中节点的数据则通过分布式文件系统来访问。在清洗过程中数据
在mapper和reducer间传递清洗结束后数据被送回到分布式文件系统。和输入类似用户可以将清洗后的数据以文件的形式下载或者提供数据库连接信息再由系统输出到数据库中。
系统的结构如图2所示其中包含一个Master和多个Slave节点。具体地 Master节点接收数据清洗任务的输入数据、清洗计划以及参数设置。而清洗计划即是一个清洗操作序列 由系统提供的四种清洗的基本操作构成这四种操作分别为实体识别、不一致性检测和修复、缺值填充和真值发现并且四种操作可以重复选择。
图2系统结构图
Fig. 2 Architecture of the System
大数据的清洗任务往往需要很长的时间。在清洗时云清洗系统给用户提供一个接口来实时查看清洗的进度情况以及通过结果预览来调整算法参数。
3数据清洗操作
本节将简要介绍四个数据清洗操作的功能以及基本Map-Reduce计算框架下的算法实现。
3. 1清洗操作
为了使清洗系统能够复用共享的操作以提升清洗的效率研究提取了数据质量问题中的四类基本的操作分别是实体识别、不一致性检测和修复、缺值填充和真值发现。对其概述如下
实体识别识别元组是否代表现实世界的同一实体。
不一致性检测和修复检测违反规则集的元组并修复数据使之符合规则。
缺值填充根据其他完整的元组数据来填充元组的缺失属性值。
真值发现选择代表同一实体的不同元组存在取值冲突时的真实取值。
这些操作涵盖了数据质量方面的大多数问题。本文的系统可以利用如上的基本操作并根据实际需求来组合形成新的数据清洗的复杂操作。
3.2算法实现
这些操作对应的算法可在Map-Reduce框架下获得实现再并行地在各个slave上运行。限于篇幅此处仅给出其简要介绍。
1实体识别。该算法有两阶段。第一阶段构建属性索引表使得索引表中拥有相同属性值的数据对象对应于同一个实体。这一阶段由一轮Map-Re duc e实现并完成。其中的Map阶段划分主要根据属性的取值来进行数据划分而Reduce阶段则根据属性取值来对元组决定
其分群。第二阶段完成实体的识别执行相似度连接查询生成相似实体对集合。该阶段由五轮Map-Reduce实现并完成。其中的第一轮分别统计每个实体及每个实体对的出现次数。第二轮和第三轮分别根据同时出现在实体对中的第一个实体和第二个进行聚集生成相似实体对集合。稍后的第四轮和第五轮则根据阈值和计算的相似度完成实体划分。
2不一致性检测和修复。该操作需要三轮Map-Reduce来实现并完成。第一轮实现了常量C FD的不一致性检测和修复。 Map过程是根据约束规则对元组进行划分并从规则中得到修复值 Reduce过程则根据得到的修复值对不一致的数据项进行相关修复。随后的两轮则完成FD和CFD的不一致性检测和修复。两者中前一轮的M ap过程依然是根据约束规则来划分元组此过程检测的是变量C FD的违反 因此一个元组可能重复地划分而Reduce过程则针对获得的分组以判断组内是否发生变量违反制定修复方案。基于前一轮R e du c e的输出后一轮将以其作为输入并按照计算的解决方案对不一致的数据项进行修复。 Map阶段对每条元组的修复方案进行整合。 Re duce阶段将继续根据整合后的修复方案对不一致的数据项进行修复。
3缺值填充。研究根据不同的属性取值设计了多种不同的算法类型来实现缺值填充。对于连续变量值的缺失而言就是利用其他的属性取值通过回归来实现缺值填充。此处的回归包含三个子过程分别是标准化、排序和回归每一个操作均对应一轮的Map-Reduce。具体来说标准化阶段将所有属性进行标准化并计算各个属性的最
小值构成最小值向量。排序则对所有元组的最小值向量计算相对大小并排序。回归将完成回归并填充缺失值。离散变量值缺失则通过分类来实现缺值填充。分类也同样包含三个子过程分别是概率计算、参数聚集和缺值填充每个操作也都对应一轮Map-Reduce。具体地概率计算过程需要计算每个特征属性的条件概率和分类属性的边缘概率生成概率表。参数聚集则根据概率表来聚集缺值填充需要的参数。而缺值填充主要根据聚集的参数来完成填充。
4真值发现。真值发现的基本框架是贝叶斯模型。该框架迭代地计算真值和数据源的相关性。每次迭代均需要两轮的Map-Reduce。第一轮通过数据源的可靠性来计算真值 map将根据属性与实体序号的匹配来生成属性值与数据源的可靠性的对应 reduce阶段则通过投票来确定真值。第二轮通过上一轮得到的真值来重新评估数据源的可靠性。两轮一直迭代执行直至收敛。
4用户功能接口
研究设计的云清洗系统部署在一个32节点的Hadoop集群上该系统为用户提供了一个基于Web的访问接口。本节简要介绍该系统的用户功能接口。
1任务提交。提交一个数据清洗任务总共需要四类输入待清洗的数据、 由清洗基本操作序列构成的清洗计划、算法的参数和并行节点数。用户可以通过文件的形式或者远程数据库连接的形式提交待清洗的数据。清洗计划则是选择系统提供的四种数据清洗操作中的某
ReadyDedis是一家2018年成立的国外VPS商家,由印度人开设,主要提供VPS和独立服务器租用等,可选数据中心包括美国洛杉矶、西雅图、亚特兰大、纽约、拉斯维加斯、杰克逊维尔、印度和德国等。目前,商家针对全部VPS主机提供新年5折优惠码,优惠后最低套餐1GB内存每月仅需2美元起,所有VPS均为1Gbps端口不限流量方式。下面列出几款主机配置信息。CPU:1core内存:1GB硬盘:25GB ...
官方网站:点击访问亚洲云官网618活动方案:618特价活动(6.18-6.30)全站首月活动月底结束!地区:浙江高防BGPCPU:至强铂金8270主频7 默频3.61 睿频4.0核心:8核(最高支持64核)内存:8G(最高支持128G)DDR4 3200硬盘:40G系统盘+80G数据盘带宽:上行:20Mbps/下行:1000Mbps防御:100G(可加至300G)防火墙:提供自助 天机盾+金盾 管...
profitserver怎么样?profitserver是一家成立于2003的主机商家,是ITC控股的一个部门,主要经营的产品域名、SSL证书、虚拟主机、VPS和独立服务器,机房有俄罗斯、新加坡、荷兰、美国、保加利亚,VPS采用的是KVM虚拟架构,硬盘采用纯SSD,而且最大的优势是不限制流量,大公司运营,机器比较稳定,数据中心众多。此次ProfitServer正在对德国VPS(法兰克福)、西班牙v...