欢迎来到天天文库
浏览记录
ID:40446591
大小:6.48 MB
页数:51页
时间:2019-08-02
《《大数据处理技术》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、大数据处理技术科信办刘伟2014年4月第一节Mapreduce编程模型第二节hadoopHDFS原理第三节nosql之hbase第一节Mapreduce编程模型1.技术背景2.mapreduce的概念3.mapreduce的编程模型原理4mapreduce工作流程5.mapreduce的局限1.技术背景:分布式并行计算是大数据(pb)处理的有效方法,编写正确高效的大规模并行分布式程序是计算机工程领域的难题。并行计算的模型、计算任务分发、计算机结果合并、计算节点的通讯、计算节点的负载均衡、计算机节点容错处理、节点文件的管理等方面都要考虑。
2、为了解决上述复杂的问题,谷歌设计一个新的抽象模型,使用这个抽象模型,普通程序员只要表述他们想要执行的简单运算即可,而不必关心并行计算、容错、数据分布、负载均衡等复杂的细节,这些问题都被封装了,交个了后台程序来处理。这个模型就是mapreduce。谷歌2004年公布的mapreduce编程模型,在工业界、学术界产生巨大影响,以至于谈大数据必谈mapreduce。工业界试图做的事情就是要实现一个能够媲美或者比Googlemapreduce更好的系统,多年的努力下来,Hadoop(开源)脱颖而出,成为外界实现MapReduce计算模型事实上的
3、标准,围绕着Hadoop,已经形成了一个庞大的生态系统。2.mapreduce的概念:MapReduce是一个编程模型,一个处理和生成超大数据集的算法模型的相关实现。简单的一句话解释MapReduce就是“任务的分解与结果的汇总”。mapreduce成功的最大因素是它简单的编程模型。程序员只要按照这个框架的要求,设计map和reduce函数,剩下的工作,如分布式存储、节点调度、负载均衡、节点通讯、容错处理和故障恢复都由mapreduce框架(比如hadoop)自动完成,设计的程序有很高的扩展性。3.mapreduce的编程模型原理:开发
4、人员用两个函数表达这个计算:Map和Reduce。即:(input)====>map(k1,v1)->list(k2,v2)===> combine--->=> reduce(k2,list(v2))->list(v2) >(output)单词统计单词统计map(Stringkey,Stringvalue): //key:documentname //value:documentcontents foreachwordwinvalue: EmitIntermedi
5、ate(w,“1″);reduce(Stringkey,Iteratorvalues): //key:aword //values:alistofcounts intresult=0; foreachvinvalues: result+=ParseInt(v); Emit(AsString(result));一共分为map(分解)shuffle(洗牌)reduce(归并)三个阶段。map阶段,每个节点调用程序员编写的map函数,作用于每一个在此节点存放的键值对,map函数的输出同样是一些键值对
6、,中间结果进入shuffle阶段,shuffle系统自动完成,程序员无须也无法控制,shuffle阶段会把所有中间结果里的键相同的所有键-值对通过网络传递给同一个目标节点。在最后的reduce阶段,每个节点会对所有键相同的键值对调用程序员编写的reduce函数,输出最终结果。4.mapreduce工作流程Map阶段:数据经过分片化成M个数据集,每个数据集由一个maper节点经过map函数处理成key-value对形式的数据集。Shuffle阶段:map输出的结果放在maper节点本地内存缓存区,缓存区先按照key进行分区(如果有R个re
7、ducer,hash(key)modR分成R个分区,初步划分)、分区内对key排序(排序后可附加combiner合并操作,减少写磁盘数据量),缓冲区快要溢出时,溢写文件,多个溢写文件合并,合并过程再次排序(排序后可附加combiner合并操作),最后形成一个已经分区的、已经排序(对key的排序)的文件。Reduce端会把属于本区的数据取(fetch)到内存,进行合并,合并过程再次排序,缓冲区快要溢出时,溢写文件,多个溢写文件合并,合并过程再次排序,合并为更大的排序文件,最终实现reduce输入数据是经过排序(对key的排序)的数据。有r
8、个reduce,就有r个结果。其实不管在map端还是reduce端,MapReduce都是反复地执行排序,合并操作,所以说:mapreduce是大数据处理的灵魂,排序是mapreduce的灵魂。Reduce
此文档下载收益归作者所有