基于Hadoop的研究及性能分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于Hadoop的研究及性能分析
摘要
在大数据到来的今天,本文首先介绍了Hadoop及其核心技术MapReduce的工作原理。详细讨论了Hadoop推测执行算法和SALS 推测执行算法并对它们的性能进行分析。最后,分析了MapReduce 框架的通用二路连接算法 RSJ。为了提高性能,提出了一种基于DistributedCache 的改进算法,通过减少 mapper 输出的数据来达到优化的目的。
关键字:Hadoop MapReduce 性能算法
Abstract:In the era of big data, this paper introduces Hadoop, MapReduce and its core technology works.I have discussed the Hadoop speculative execution algorithms and SALS speculative execution algorithm and analyzed their performance.Finally, I analyzed the Common Road Join Algorithm in MapReduce framework.To improve performance, I propose an improved algorithm based DistributedCache by reducing the mapper output data to achieve optimization purposes.
Key words:Hadoop; MapReduce; Performance;Algorithm
1、绪论
1.1、背景
伴随Internet和Web技术的飞速发展,网络日志、互联网搜索
索引、电子商、社交网站等技术的广泛使用带来了数据量的急剧增长。计算机技术在各行各业的普遍使用也促使的数据的产生,如用于
测量和传输有关位置、震动、湿度、温度的传感器所产生的海量数据。大数据时代真的来了吗?据[1]中统计显示所有企业每天的信息
存储量高达 2.2ZB,其中大型企业平均每天产生的信息量达 10WTB,而中小企业平均每天产生 563TB 的数据量。预计明年大型企业产生
的数据量将增长 67%,中小企业数据量的增长则高达 178%。因此,
在 2012年年末,中国工程院院士邬贺铨指出:“在过去短短的 18 个月,中国移动互联网流量增加了10 倍,占全球互联网流量的10%,成为名副其实的世界数据中心。因此,中国已经步入了“大数据”时代。
大数据主要有四个典型特征:
(1)海量:目前各行各业面临着数据量的大规模增长。例如,IDC 最近的报告预测称,到2020年,全球数据量将扩大50倍之多。
(2)多样性:数据不单单以结构化数据形式存在。目前,半
结构化数据和非结构化数据也已经占了数据总数相当大的一部分。
数据多样性的增加主要由包括网络日志、社交媒体、互联网搜索、
手机通话记录等数据类型造成的。
(3)高速:指的是需要实现对大数据的快速处理和分析任务,以实时满足用户需求。
(4)易变性:大数据具有多层结构,这意味着大数据会呈现
出多变的形式和类型。
由于大数据的上述几种特性,使得采用传统数据库技术来处理
大数据存如下一些问题:
第一,平时使用的计算机存储容量和计算速度都无法满足大数
据的存储和计算要求。虽然可以根据数据的大小采取增强机器配置
的方法来满足需求,但是代价是及其昂贵的;
第二,传统关系型数据库只能用于存储和查询结构化的数据类型,而无法满足多样化数据的存储;
第三,传统数据库系统的分析处理能力也无法满足快速处理大
数据的处理请求。
正是因为传统技术有着这些方面的不是,用于处理数掘的Hadoop技术诞生了,Hadoop是上述解决方案的实现框架。Hadoop平
台Apache是开源设计的,它是部署在廉价的计算机集群上的一个分
布式计算框架。与PC机类似,Hadoop也为应程序提供一组稳定、灵活、可靠的接口。Hadoop 括许多子项目,如HDFS、HBase、MapRedeuce等。其中分布式文件系统(HDFS)主要是用来存储非结构
化数掘的;HBase用来存储海量半结构化数据的; MapReduce作为一
种并行编程模型,可以很好的实现大数据时代的计算任务。所以木
文将对Hadoop进行深入的研究,并对它的一些性能进行分析,进而让
我们更了解该系统。
本文的研究意义如下:
(1)随着数据量的爆炸式增长,如何有效的存储海量数据、如何
高效的从现存海量数据中获得所需信息,对经济、社会、政治发展都
具有重要的意义。
(2)Hadoop是为存储、处理大数据而产生。Hadoop框架将数据
的存储和处理集成于一体,因此在大数据时代研究Hadoop具有重要
的理论意义。
(3)HDFS和MapReduce作为Hadoop核心部件,对它们进行研究和优化,可以更好的理解Hadoop运行机制,在一定程度上提高Hadoop
系统的整体性能,对Hadoop在大数据环境中的使用具有重要的意义。
1.2、国内外的研究现状
在大数据时代,海量数据存储技术具有重大的研究意义和市场价值,随着数据量的增长和数据结构复杂度的提高,存储技术不断更新
换代,存储产品也层出不穷。为了降低使用成本,目前的分布式系统
趋于建立在廉价的服务器、PC或普通存储设备之上。由于海量数据
存储系统的规模巨大和系统设计复杂,服务器、设备故障、软件出错
的频率较高因此如何构建自组织能力强、数据可靠性高和可伸缩性
好的系统成为存储系统设计的关键任务。经过近几十年的探索、实
践和研究,人们发现基于智能存储设备的存储技术符合上述条件,所
以该技术也成为了目前存储技术研究的焦点。
目前,国内外研究中对于基于 MapReduce 框架数据集连接(join)优化问题已经存在了一些解决方案:
文献[2]中作者针对等连接关系型任务提出了一种新的编程模式Map-Reduce-Merge。该模型除了含有 Map 和 Reduce 阶段之外,还
添加了一个 Merge 阶段。该模型的思想是:当处理连接任务时设置
了多个 Reduce 节点,则 Reduce 阶段输出的结果分散在集群中的