基于hadoop海量数据分析系统设计与实现毕业论文.doc

上传人:聆听****声音 文档编号:714923 上传时间:2023-04-29 格式:DOC 页数:59 大小:1.17MB
下载 相关 举报
基于hadoop海量数据分析系统设计与实现毕业论文.doc_第1页
第1页 / 共59页
基于hadoop海量数据分析系统设计与实现毕业论文.doc_第2页
第2页 / 共59页
基于hadoop海量数据分析系统设计与实现毕业论文.doc_第3页
第3页 / 共59页
基于hadoop海量数据分析系统设计与实现毕业论文.doc_第4页
第4页 / 共59页
基于hadoop海量数据分析系统设计与实现毕业论文.doc_第5页
第5页 / 共59页
基于hadoop海量数据分析系统设计与实现毕业论文.doc_第6页
第6页 / 共59页
基于hadoop海量数据分析系统设计与实现毕业论文.doc_第7页
第7页 / 共59页
基于hadoop海量数据分析系统设计与实现毕业论文.doc_第8页
第8页 / 共59页
基于hadoop海量数据分析系统设计与实现毕业论文.doc_第9页
第9页 / 共59页
基于hadoop海量数据分析系统设计与实现毕业论文.doc_第10页
第10页 / 共59页
基于hadoop海量数据分析系统设计与实现毕业论文.doc_第11页
第11页 / 共59页
基于hadoop海量数据分析系统设计与实现毕业论文.doc_第12页
第12页 / 共59页
基于hadoop海量数据分析系统设计与实现毕业论文.doc_第13页
第13页 / 共59页
基于hadoop海量数据分析系统设计与实现毕业论文.doc_第14页
第14页 / 共59页
基于hadoop海量数据分析系统设计与实现毕业论文.doc_第15页
第15页 / 共59页
基于hadoop海量数据分析系统设计与实现毕业论文.doc_第16页
第16页 / 共59页
基于hadoop海量数据分析系统设计与实现毕业论文.doc_第17页
第17页 / 共59页
基于hadoop海量数据分析系统设计与实现毕业论文.doc_第18页
第18页 / 共59页
基于hadoop海量数据分析系统设计与实现毕业论文.doc_第19页
第19页 / 共59页
基于hadoop海量数据分析系统设计与实现毕业论文.doc_第20页
第20页 / 共59页
亲,该文档总共59页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于hadoop海量数据分析系统设计与实现毕业论文.doc

《基于hadoop海量数据分析系统设计与实现毕业论文.doc》由会员分享,可在线阅读,更多相关《基于hadoop海量数据分析系统设计与实现毕业论文.doc(59页珍藏版)》请在冰点文库上搜索。

基于hadoop海量数据分析系统设计与实现毕业论文.doc

西安电子科技大学

学位论文创新性声明

秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个

人在导师指导下进行的研究工作及取得的研究成果。

尽我所知,除了文中特别加

以标注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研

究成果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用

过的材料。

与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确

的说明并表示了谢意。

申请学位论文与资料若有不实之处,本人承担一切的法律责任。

本人签名:

日期

西安电子科技大学

关于论文使用授权的说明

本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:

研究

生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。

学校有权保

留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内

容,可以允许采用影印、缩印或其它复制手段保存论文。

同时本人保证,毕业后

结合学位论文研究课题再撰写的文章一律署名单位为西安电子科技大学。

(保密的论文在解密后遵守此规定)

本学位论文属于保密,在

本人签名:

导师签名:

年解密后适用本授权书。

日期

日期

摘要

随着互联网的不断发展,国内大型互联网公司业务的不断复杂化,分析核心

数据成为了公司发展的关键点,但是公司内部的核心数据原始文件庞大,目前大

部分是通过人工分析得出结论,因此分析处理海量数据成为亟待解决的问题。

本文研究了海量数据处理的国内外现状,阐述了分布式MapReduce的编程思

想,介绍了Hadoop的相关技术和HDFS文件系统,分析了企业的需求,使用了

spring-mvc和hibernate等Web开发框架对系统进行了分层设计,将系统分成了展

现层、业务逻辑层、数据对象实体层、底层数据层和原始资源层。

然后对系统结

构展开设计和实现,结合实际业务设计了分布式Hadoop计算模块、数据结果存

储模块和业务系统逻辑模块三个模块,最后对各个模块进行了测试,实现海量数

据分析系统。

本文所做工作被用于大型互联网公司系统的开发。

实践表明,采用本文所设

计的系统后,提高了数据分析的效率,改变了人工计算海量数据的情况,实现了

数据分析统计的高效性和集中性。

关键词:

HadoopMapReduce数据分析

Abstract

WiththecontinuousdevelopmentoftheInternet,businessofalargedomestic

companyisgoingtobemoreandmorecomplex.Analysisofcoredatabecomesakey

pointofthedevelopmentofthecompany,buttheinternalcorerawdatafilesarehuge.

Theygettheconclusionbymanualanalysis.Therefore,analysisandprocessing

massivedatabecomeproblemstobesolved.

Inthispaper,weresearchthehomeandabroadstatusformassivedata

processing.TheMapReducedistributedprogrammingideaiselaborated.We

introducetechnologiesaboutHadoopandtheHDFSfilesystem,analysisoftheneeds

ofenterprises.Spirng-MvcandHibernatewebdevelopmentframeworkareappliedto

hierarchicaldesigninginthesystem.Thesystemisdividedintofivelayers:

view

layer,businesslogiclayer,dataobjectlayer,underlyingdatalayerandoriginal

resourcelayer.Thenweexpandthedesignandimplementationofthesystem

structure.Hadoopcalculationmodule,datastoragemoduleandbusinesssystem

modulearedesignedwithactualbusiness.Finally,eachmoduleistested,Massdata

analysissystemisfinished.

Theworkinthispapermakesuseofthedevelopmentofasystemofalarge

Internetcompany.Practiceshowsthatthesystemdesignedinthispaperimprovesthe

efficiencyofdataanalysis,itchangesthestatusofartificiallycalculatingthemass

dataandmakesthestatisticaldataanalysisefficientandcentralized.

Keyword:



Hadoop



MapReduce



DataAnalysis

目录

第一章



绪论...........................................................................................................1

1.1论文背景及意义........................................................................................1

1.2国内外研究现状........................................................................................2

1.3本文研究内容............................................................................................3

1.4章节安排....................................................................................................3

第二章

基于Hadoop的分布式技术....................................................................5

2.1分布式计算的思想....................................................................................5

2.2分布式计算的技术....................................................................................7

2.2.1Hadoop原理....................................................................................7

2.2.2Hadoop应用....................................................................................8

2.3本章小结....................................................................................................9

第三章

基于Hadoop的海量数据分析系统的目标应用..................................11

3.1目标应用的需求分析...............................................................................11

3.2目标应用的设计架构...............................................................................12

3.2.1目标应用的总体架构....................................................................12

3.2.2目标应用的流程分析....................................................................17

3.3本章小结...................................................................................................18

第四章

基于Hadoop的海量数据分析系统的设计实现..................................21

4.1总体设计...................................................................................................21

4.2数据结构设计..........................................................................................23

4.3模块详细设计...........................................................................................29

4.3.1分布式Hadoop计算模块.............................................................29

4.3.2数据结果存储模块........................................................................32

4.3.3业务系统逻辑模块........................................................................33

4.4本章小结...................................................................................................39

第五章

基于Hadoop的海量数据系统的部署和测试......................................41

5.1项目部署...................................................................................................41

5.1.1文件命名规范...............................................................................41

5.1.2代码工程文件部署........................................................................42

5.2系统测试...................................................................................................43

5.2.1分布式Hadoop计算模块的测试.................................................43

5.2.2核心数据文件存储模块测试........................................................43

5.2.3业务逻辑系统模块测试................................................................43

5.3结果分析...................................................................................................45

5.4本章小结...................................................................................................46

第六章

结束语.....................................................................................................47

6.1本文工作..................................................................................................47

6.2存在问题..................................................................................................47

致谢.........................................................................................................................49

参考文献.................................................................................................................51

第一章绪论



1

第一章绪论

本章首先阐述课题的背景和研究意义,接着介绍分布式技术的国内外研究现

状,最后给出本文研究内容及章节安排。

1.1论文背景及意义

随着计算机技术以及互联网的快速发展,特别是网络的普及,金融、通信等大众

行业对信息的需求越来越高,亟待处理的数据量也越来越大。

与此同时,人们对复杂

查询操作能力的需求以及高性能联机事务处理能力也在不断提高。

因此,如何存储

计算海量数据成为当今的研究热点。

当前单一节点服务器的计算能力已经达到了瓶颈,而现代大型企业的数据的

异构性、复杂性和关联性非常强,数据量非常大,这样对服务器存储资源、计算

资源都提出了较高的要求,因此,利用云计算的分布式技术获取网络中强大的计

算存储资源,将消耗大量计算资源的复杂计算通过网络分布到多节点上进行计算,

是当前一种高效的解决方案。

国内大型互联网公司,随着它的业务一步一步增大拓宽,所采用的系统也越

来越多,相应的,开发和维护这些系统的团队也就越来越复杂,甚至出现了几个

团队共同维护一个系统的局面。

由于公司内部的许多核心数据是必须要产生并且

加以分析的,而众多的公司系统则对产生和分析数据造成了相当大的困难,一方

面,大规模的数据需要强大的运算能力才能够加以分析,传统的单机处理已经不

能够满足当前业务发展的需求,另一方面,众多的业务系统,使得众多数据的处

理和分析更加困难,公司内部存在着手工分析分布式系统数据结果的现状不能够

得到改善,工作效率严重受到影响。

因此,企业迫切的需要一个可以大规模集中处理和分析展现数据的系统模式,

统筹规划庞大的数据,实现高效处理。

大规模数据的分析和计算,首要的问题就是庞

大的计算量,分布式计算的通用的解决方案,用多个机器承载计算任务,优化任务的

运算效率。

但是分布式计算任务的实现中存在着一些问题,比如输入文件的优化处

理和分布式任务的运行管理。

所以,一种优化且良好封装的分布式框架,由底层封装

文件调度、并行计算、容错处理等功能,用户进行分布式计算逻辑的设计,这样

就可以优化传统的分布式任务流程。

由谷歌公司研发的Map/Reduce编程模型应

运而生。

同时,Hadoop分布式框架实现了这个模型,有力的支持了这种新兴的分布

式编程思想。

另一方面,随着Web技术的飞速发展,基于Web的数据分析和管

理系统能够集中统一的分析数据,并且在互联网上通过浏览器进行数据分析结果

2



基于Hadoop的海量数据分析系统的设计与实现

的良好展现。

这样就解决了人工分析大规模数据结果的弊端,为高效统一的数据

分析展现提供了很好的解决途径。

基于Hadoop的海量数据分析系统的意义在于:

1.避免重复性的工作。

Web数据分析系统可以通过规范可复用的流程对数

据进行分析展现,它可以避免人工分析数据结果的弊端,从而节省人力物力、提

高企业工作效率。

2

提高大规模数据的处理能力,基于Hadoop的数据分析和计算可以应对海

量数据级别的任务,通过快速高效的运算能力,使得企业迅速得到数据分析的结

果,为今后的发展提供了保障。

1.2国内外研究现状

首先介绍一下目前流行的分布式技术,MapReduce编程模型。

它的思想来源

于一种函数式编程语言,名字叫做Lisp,这种编程语言由谷歌公司提出并首先应

用于计算机集群。

Hadoop框架的核心思想就是Map/Reduce。

谷歌研发出了GFS

等硬件模型来承载MapReduce模型。

Map/Reduce是一个用于海量数据运算的编

程模型,于此同时它也是一种高效的任务调度模型[1]。

在2007年,谷歌对这个模

型进行了更加深入的研发。

谷歌公司以这种分布式编程规范作为基础,在互联网

公司中渐渐地居于主导地位。

Hadoop是在DougCutting等人带领下进行设计研发的,同时他被Apache基

金会认可,并成为了其旗下的一个著名的开源项目,它基于Lucene和Nutch等早

前开源框架,基本上实现了谷歌自己的文件系统和最新的分布式编程思想。

2004年,他们完成了Hadoop分布式文件系统并发布了最早的版本;2005年,他

们进一步研发不断增大Hadoop集群的数量,最终使得Hadoop集群的稳定数量达

到了20;2006年2月ApacheHadoop项目开始资助这种分布式开发平台的研发。

目前,在Hadoop引起了企业界和学术界的深入重视和广泛的研究与应用。

2008年2月,yahoo公司研发出了世界上最大规模的分布式集群—Yahoo!

SearchWebmap,这个集群对雅虎公司的广告收益和科研进程起到了非常重要的推

动作用;Amazon的搜索门户A的网站中创建商品的数据索引就是基于雅虎

自身的分布式集群完成的[2];许多著名的SNS网站,例如facebook都开始逐渐使

用Hadoop大型集群进行分布式的数据挖掘、数据处理、日志分析和文件调度,

推动了海量数据处理在全世界的应用。

UCBerkeley的MateiZaharia等人改进了基于Hadoop的推测式执行技术,并

发表了ImprovingMapReducePerformanceinHeterogeneousEnvironment[3],其他很

多世界高校也对Hadoop进行应用和研究;TysonCondie等人完善了MapReduce

第一章绪论



3

整体架构,对它的整体进行了改进,他们在学术上推动了Hadoop的不断完善。

2008年之后,我国应用和研究Hadoop的企业也越来越多,包括淘宝、百度、

金山等。

淘宝是国内最早一批引入Hadoop分布式计算体系的公司之一[4];百度在

开发了自己公司内部的Hadoop应用系统。

总之,互联网企业是Hadoop在国内的

主要使用力量。

同样的,很多科研院所也投入到Hadoop的应用和研究中,包括中科院、清

华大学、浙江大学和华中科技大学等。

其次,本文的另一个要点是基于Web的数据分析系统,目前国内的大部分互

联网公司和绝大多数开源项目都以J2EE为解决方案,从最初的struts1.0,spring

和hibernate组成的ssh系统架构,再到后来的ibatis和spring-mvc,不断有新兴的

web开发技术涌现出来,国内有很多公司,例如淘宝,也借鉴了国外的这些优秀

的框架,开发了自己企业使用的J2EE技术。

这也使得现在的J2EE开发技术愈发

成熟,增强了项目的健壮性和可维护性。

1.3本文研究内容

分布式技术在国内国外都有着非常重要的地位,本文根据国内外相关领域的

研究进展,结合自己对分布式技术的理解,以目前流行的J2EE开发技术作为技

术支撑,构建出海量数据分析的web系统。

本文从分析具体业务逻辑开始着手,

抽象数据流程,根据业务的特性建立关系模型,并且根据数据的特点设计相应的

存储方式,最终实现海量数据的计算、分析、处理和展现。

基于Hadoop的海量数据分析处理系统主要由分布式计算模块和Web数据分

析模块组成。

根据海量数据分析处理系统的构成,本文的主要研究内容包括两

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2