从hadoop框架与mapreduce模式中谈海量数据处理

从hadoop框架与mapreduce模式中谈海量数据处理

ID:44747174

大小:719.50 KB

页数:12页

时间:2019-10-27

从hadoop框架与mapreduce模式中谈海量数据处理_第1页
从hadoop框架与mapreduce模式中谈海量数据处理_第2页
从hadoop框架与mapreduce模式中谈海量数据处理_第3页
从hadoop框架与mapreduce模式中谈海量数据处理_第4页
从hadoop框架与mapreduce模式中谈海量数据处理_第5页
资源描述:

《从hadoop框架与mapreduce模式中谈海量数据处理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、从Hadoop框架与MapReduce模式中谈海量数据处理2011年8月29日13:45 从hadoop框架与MapReduce模式中谈海量数据处理前言   几周前,当我最初听到,以致后来初次接触Hadoop与MapReduce这两个东西,我便稍显兴奋,觉得它们很是神秘,而神秘的东西常能勾起我的兴趣,在看过介绍它们的文章或论文之后,觉得Hadoop是一项富有趣味和挑战性的技术,且它还牵扯到了一个我更加感兴趣的话题:海量数据处理。   由此,最近凡是空闲时,便在看“Hadoop”,“MapReduce”“海量数据处理”这

2、方面的论文。但在看论文的过程中,总觉得那些论文都是浅尝辄止,常常看的很不过瘾,总是一个东西刚要讲到紧要处,它便结束了,让我好生“愤懑”。   尽管我对这个Hadoop与MapReduce知之甚浅,但我还是想记录自己的学习过程,说不定,关于这个东西的学习能督促我最终写成和“经典算法研究系列”一般的一系列文章。   Ok,闲话少说。本文从最基本的mapreduce模式,Hadoop框架开始谈起,然后由各自的架构引申开来,谈到海量数据处理,最后谈谈淘宝的海量数据产品技术架构,以为了兼备浅出与深入之效,最终,希望得到读者的喜欢

3、与支持。谢谢。   由于本人是初次接触这两项技术,文章有任何问题,欢迎不吝指正。再谢一次。Ok,咱们开始吧。第一部分、mapreduce模式与hadoop框架深入浅出架构扼要        想读懂此文,读者必须先要明确以下几点,以作为阅读后续内容的基础知识储备:1.Mapreduce是一种模式。2.Hadoop是一种框架。3.Hadoop是一个实现了mapreduce模式的开源的分布式并行编程框架。   所以,你现在,知道了什么是mapreduce,什么是hadoop,以及这两者之间最简单的联系,而本文的主旨即是,一句

4、话概括:在hadoop的框架上采取mapreduce的模式处理海量数据。下面,咱们可以依次深入学习和了解mapreduce和hadoop这两个东西了。Mapreduce模式   前面说了,mapreduce是一种模式,一种什么模式呢?一种云计算的核心计算模式,一种分布式运算技术,也是简化的分布式编程模式,它主要用于解决问题的程序开发模型,也是开发人员拆解问题的方法。   Ok,光说不上图,没用。如下图所示,mapreduce模式的主要思想是将自动分割要执行的问题(例如程序)拆解成map(映射)和reduce(化简)的方

5、式,流程图如下图1所示:   在数据被分割后通过Map函数的程序将数据映射成不同的区块,分配给计算机机群处理达到分布式运算的效果,在通过Reduce函数的程序将结果汇整,从而输出开发者需要的结果。   MapReduce借鉴了函数式程序设计语言的设计思想,其软件实现是指定一个Map函数,把键值对(key/value)映射成新的键值对(key/value),形成一系列中间结果形式的key/value对,然后把它们传给Reduce(规约)函数,把具有相同中间形式key的value合并在一起。Map和Reduce函数具有一定

6、的关联性。函数描述如表1所示:   MapReduce致力于解决大规模数据处理的问题,因此在设计之初就考虑了数据的局部性原理,利用局部性原理将整个问题分而治之。MapReduce集群由普通PC机构成,为无共享式架构。在处理之前,将数据集分布至各个节点。处理时,每个节点就近读取本地存储的数据处理(map),将处理后的数据进行合并(combine)、排序(shuffleandsort)后再分发(至reduce节点),避免了大量数据的传输,提高了处理效率。无共享式架构的另一个好处是配合复制(replication)策略,集群

7、可以具有良好的容错性,一部分节点的down机对集群的正常工作不会造成影响。   ok,你可以再简单看看下副图,整幅图是有关hadoop的作业调优参数及原理,图的左边是MapTask运行示意图,右边是ReduceTask运行示意图:   如上图所示,其中map阶段,当maptask开始运算,并产生中间数据后并非直接而简单的写入磁盘,它首先利用内存buffer来对已经产生的buffer进行缓存,并在内存buffer中进行一些预排序来优化整个map的性能。而上图右边的reduce阶段则经历了三个阶段,分别Copy->Sort

8、->reduce。我们能明显的看出,其中的Sort是采用的归并排序,即mergesort。   了解了什么是mapreduce,接下来,咱们可以来了解实现了mapreduce模式的开源框架—hadoop。Hadoop框架   前面说了,hadoop是一个框架,一个什么样的框架呢?Hadoop是一个实现了MapReduce计算模型的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。