您好, 访客   登录/注册

基于Hadoop平台的数据清洗研究

来源:用户上传      作者:范会丽 彭宁 任薇

  摘要:各行各业数据的指数级增长,导致数据仓库建设管理,数据库中知识发现和总体数据质量管理中涉及的重复数据、数据值缺失、错误记录、没有意义的异常值等数据问题越来越棘手。这三个领域也是数据清洗的主要领域。基于当前现状,结合当前各大企业数据处理的平台,利用Hadoop平台中的相关组件对企业中的完全重复的数据和相似重复的数据进行清洗研究。
  关键词:Hadoop平台;数据清洗;完全重复数据;相似重复数据
  中图分类号:TP393 文献标识码:A
  文章编号:1009-3044(2020)05-0027-02
  开放科学(资源服务)标识码(OSID):
  数据清洗(Data Cleaning)旨在提高数据质量,为后续数据的使用做准备,主要应用在数据仓库建设管理,数据库中知识发现和总体数据质量管理3个领域[1]。数据清洗主要是对数据进行预处理,通过判断识别,得到数据集含有的诸如错误,无效,重复的数据等,再填补空值,最大可能地保证在数据真正使用和分析应用前的正确性,从而提高数据决策的质量。互联网的普及给人类的生活带来了极大的便利,但是人类产生的庞大数据也给互联网的发展以及人类对互联网的使用带来了各种问题。以数据仓库为例,数据仓库中数据的存储,数据库中知识发现的复杂度以及数据冗余度的上升等。为了解决类似问题,结合我国目前很多大型企业使用的大数据架构都是Hadoop架构,因此本实验采用Hadoop架构进行完全重复数据和相似重复数据的处理,达到提高数据质量。
  1 研究内容
  Hadoop是由Apache基金会开发的一个开源的分布式系统基础架构,主要是对大文件(GB级别及以上)进行存储和管理[2]。它的主要功能是利用分布式架构来存储海量数据和实现分布式的计算。Hadoop架构具有极好的可扩展性和可用性[3]。Ha—doop的可扩展性是由于其自身可以通过增加廉价的服务器个数从而增加整个集群的数据存储量和提高集群的并行计算数据的速度。Hadoop的可用性是因为其自身的副本机制。在完全分布式的集群中,每个存储数据的block(HDFS设计的存储数据的基本单元是数据块)的副本都有3个。当其中一个副本丢失时,集群中的DataNode利用心跳机制中NameNode发送的指令,通过管道进行副本的复制,从而保证副本数量。Hadoop生態系统如下图所示:
  HDFS(Hadoop Distributed File System):来源于《Coogle FileSystem》的一个高吞吐量的分布式文件系统。HDFS提供高吞吐率来访问数据,适合具有海量数据的应用需求[4],HDFS的主要功能就是提供一个存储系统,用来存储海量数据,未经处理的数据和经过处理的数据。
  MapReduce:谷歌工程师开发的分布式计算模型。主要用于大规模数据的并行计算。MapReduce框架的节点由Job-Tracker和TaskTracker组成。JobTracker对人物进行调度,管理多个TaskTracker;TaskTracker负责执行任务。MapReduce处理数据是先经过map处理,然后再经过reduce处理。Map处理通过map函数自定义规则,将输入值映射为key-value键值对,再给reduce函数处理,reduce函数也根据需求自定义规则,将keyhash值相同的value进行合并处理得到最终结果。本课题中,reduce阶段处理输出的结果再次存到HDFS中。
  ZooKeeper:分布式的协调服务框架,主要解决分布式系统中数据的一致性问题。数据的一致性主要由Zookeeper的ZAB协议和过半原则来保证。Zookeeper类似于一个动物管理员,对hadoop系统中的各个组件进行协调管理。
  Hive:分布式数据仓库工具,提供数据整理、特殊查询和分析存储数据等功能。采用类似soL的操作语言HQL,通过编译器底层转化为MapReduce任务执行。拥有针对大型数据集的查询功能[5]。
  本实验中,主要涉及Hadoop的核心模块是HDFS和Ma-pReduce。HDFS提供大量数据存储的地方,MapReduce提供分布式计算的程序设计需要的编程接口,编写集群分布式并行程序,计算数据。
  实验过程中搭建的Hadoop集群如图2所示。
  2 技术方案
  对于完全重复的数据的处理,实验中的Hadoop平台是利用3台CentOs系统的虚拟机搭建的一个小型Hadoop集群。其中涉及了Hadoop中的HDFS组件进行大量数据的存储,使用MapReduce编写程序进行完全重复数据的清洗处理;然后将处理后的没有完全重复数据但是包含相似重复数据的文件再次存储到HDFS中,为后续算法的处理做准备。
  对于相似重复数据的处理,采用的是Windows 7系统,运行内存8GB,使用Anaconda和Pvcharm的python语言环境。本文改进的是编辑距离算法。并对改进前和改进后的编辑距离算法的处理结果进行对比及反复调优,使能够得到最理想的效果。
  参考文献:
  [1]叶鸥,张璨,李军怀,中文数据清洗研究综述[J].计算机工程与应用,2012,48(14):121-129.
  [2] http://hadoop.apache.org/
  [3]李元亨,邹学玉.Hadoop综述[Jl.电脑知识与技术,2018(3):8-19.
  [4]李亚.智能电网大数据在线分析与决策系统研究[Dl.北京:华北电力大学,2017.
  [5]曾新励.基于Hadoop平台的分布式web日志分析系统的研究与实现[D].西南石油大学,2017.
  【通联编辑:唐一东】(上接第6页)健康水平。与外部社交数据不同,来自传感器的大数据公司可直接管理。
  4 小结
  大数据具有众多特性,导致传统的处理方式无法对其进行分析,本文主要介绍了几个有代表性大数据处理系统,介绍了机器学习、可视化分析等大数据分析技术,并对大数据在几个行业中的应用进行了简单的介绍。
  参考文献:
  [1]程学旗,靳小龙,王元卓,等,大数据系统和分析技术综述[J].软件学报,2014,25(9):1889-1908.
  [2]何清,李宁,罗文娟,等,大数据下的机器学习算法综述[J].模式识别与人工智能,2014,27(4):327-336.
  [3]路晶,大数据可视分析研究综述[J].科技展望,2015,25(16):20.
  [4]沈荣,张保文.大数据分析和大数据处理技术研究综述[J].电脑知识与技术,2019,15(11):13-16.
  [5]武永成.基于云计算的大数据处理与分析综述[J].软件导刊,2016,15(12):161-163.
  【通联编辑:光文玲】
  收稿日期:2019 -11-15
  作者简介:范会丽(1993-),山西太原人,硕士,主要研究方向为软件工程与信息系统集成技术;彭宁(1994-),女,河北唐山人,硕士,千要研究方向为计算机网络与信息安全技术;任薇(1995-),河北宣化人,硕士,主要研究方向为自然语言处理。
转载注明来源:https://www.xzbu.com/8/view-15180509.htm