欢迎来到天天文库
浏览记录
ID:17479970
大小:450.00 KB
页数:30页
时间:2018-09-02
《基于hadoop的mapreduce框架研究报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于Hadoop的Map/Reduce框架研究报告Outline1.模型介绍:Hadoop简介MapReduce计算模型2.实例分析WordCountHadoop简介Hadoop简介Hadoop是一个开源分布式计算平台,它实现了Map/Reduce计算模型。借助于Hadoop,程序员可以轻松地编写分布式并行程序,将其运行于计算机集群上,完成海量数据的计算。Hadoop简介分布式并行编程概念基于集群的分布式并行编程能够让软件与数据同时运行在连成一个网络的许多台计算机上,由此获得海量计算能力。Hadoop简介迎接编程方式的变革1.摩尔定律正在失
2、效根据摩尔定律,约每隔18个月,CPU性能会提高一倍。然而,由于晶体管电路已经逐渐接近其物理上的性能极限,摩尔定律在2005年左右开始失效。2.分布式并行编程互联网时代的到来,将使软件编程方式发生重大变革,基于大规模计算机集群的分布式并行编程是将来软件性能提升的主要途径。Hadoop简介1.Google&Hadoop2.Hadoop的未来Map/Reduce计算模型Map/Reduce计算模型Map/Reduce是Hadoop的核心计算模型,它将复杂的运行于大规模集群上的并行计算过程高度的抽象到了两个函数,Map和Reduce,这是一个令人
3、惊讶的简单却又威力巨大的模型。Map/Reduce计算模型Map/Reduce计算流程Map/Reduce计算模型程序框架:ClassMR{ClassMap…{}ClassReduce…{}main(){JobConfconf=newJobConf(“MR.class”);conf.setInputPath(“the_path_of_HDFS”);conf.setMapperClass(Map.class);conf.setReduceClass(Reduce.class);JobClient.runJob(conf);}}Map/Redu
4、ce计算模型Map和Reduce函数计算模型的核心是map和reduce两个函数,这两个函数由用户负责实现,功能是按一定的映射规则将输入的对转换成另一个或一批对输出Map/Reduce计算模型基于MapReduce计算模型编写分布式并行程序非常简单,程序员的主要编码工作就是实现Map和Reduce函数。其它的并行编程中的种种复杂问题,如分布式存储,工作调度,负载平衡,容错处理,网络通信等,均由MapReduce框架(比如Hadoop)负责处理。Map/Reduce计算模型并行计算的实现:数据分布存
5、储分布式并行计算本地计算数据分布存储:Map/Reduce计算模型Map/Reduce计算模型分布式并行计算:JobTrackerTaskTrackerTaskTrackerTaskTracker…TaskTaskTaskTaskTaskTaskHadoopBlackBoxMap/Reduce计算模型本地计算:网络带宽为分布计算瓶颈,“本地计算”是最有效的一种节约网络带宽的手段,业界把这形容为“移动计算比移动数据更经济”。实例分析:WordCount实例分析:WordCount1.实现Map类这个类实现Mapper接口中的map方法,输入参
6、数中的value是文本文件中的一行,利用StringTokenizer将这个字符串拆成单词,然后将输出结果<单词,1>写入到org.apache.hadoop.mapred.OutputCollector中。实例分析:WordCount实例分析:WordCountInput1,“HelloWorldByeWorld”2,“HelloHadoopByeHadoop”3,“ByeHadoopHelloHadoop”Output.Collecter7、,1>Map(K,V){ForeachwordwinVCollect(w,1);}MapMapMap实例分析:WordCountCombine(K,V[]){Intcount=0;ForeachvinVcount+=v;Collect(K,count);}Output.Collecter8、>MapOutput
7、,1>Map(K,V){ForeachwordwinVCollect(w,1);}MapMapMap实例分析:WordCountCombine(K,V[]){Intcount=0;ForeachvinVcount+=v;Collect(K,count);}Output.Collecter8、>MapOutput
8、>MapOutput
此文档下载收益归作者所有