并行计算模型MapReduce.pdf

并行计算模型MapReduce.pdf

ID:32609493

大小:1.55 MB

页数:69页

时间:2019-02-13

并行计算模型MapReduce.pdf_第1页
并行计算模型MapReduce.pdf_第2页
并行计算模型MapReduce.pdf_第3页
并行计算模型MapReduce.pdf_第4页
并行计算模型MapReduce.pdf_第5页
资源描述:

《并行计算模型MapReduce.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MapReduce—并行计算模式及其应用杨文川2014.2主要内容•1)MapReduce产生背景•2)MapReduce编程模型•3)MapReduce实现机制•4)MapReduce案例分析MapReduce一种处理海量数据的并行编程模式,用于大规模数据集(通常大于1TB)的并行运算。“Map(映射)”、“Reduce(化简)”的概念和主要思想,都是从函数式编程语言和矢量编程语言借鉴适合非结构化和结构化的海量数据的搜索、挖掘、分析与机器智能学习等MapReduce计算模型•分布式计算的瓶颈是网络带宽•“本地计算”是最有效的一种节约网络带宽的手段•“移动

2、计算比移动数据更经济”。MapReduce的特点•输入的键值是不固定的,由分析人员选择•对于非结构化和半结构化数据,非常有效•适合于大规模数据的一次写入,多次查询•MapReduce其核心就是高速、流式读写操作无共享(sharenothing)•无共享结构让MapReduce程序员无需考虑系统的部分失效问题,•因为自身的系统实现,能够检测到失败的map或reduce任务•并让正常的机器重新执行这些失败的任务,•因为各个任务之间彼此独立,•任务的执行顺序是无关紧要的设计目标•MapReduce设计目标是服务于那些数分钟或数小时可完成的任务•最适合于内部通过高速网

3、络连接的单一数据中心内•这些数据中心内的计算机最好由可靠、定制的硬件组成.MapReduce计算流程原始数据1原始数据2原始数据MMapReduce运行Map函数模型——对一部分原始数据进行指定的操作。每个Map操作都针MapMap„Map对不同的原始数据,因此Map与Map之间是互相独立的,这使得它们可以充分并行化Reduce操作——对每个Map所产生的一部分中间结果进行合并操作,Reduce„Reduce每个Reduce所处理的Map中间结果是互不交叉的,所有Reduce产生的最终结果经过简单连接就形成了完整的结果集结果1结果R•数据分布存储,带来计算上的

4、并行化:横向扩展•为实现横向扩展,需要把数据存储在HDFS中•Hadoop将MapReduce计算转移到各机器上•每台承担一部分数据.MapReduce操作执行流程图例1:一个单词统计的实例假设有一批海量的数据,每个数据都是由26个字母组成的字符串,原始的数据集合是完全无序的,怎样通过MapReduce完成排序工作,使其有序(字典序)呢?排序通常用于衡量分布式数据处理框架的数据处理能力实验结果Input:Output:FilecontainingwordsNumberofoccurrencesofeachwordHelloWorldByeWorldBye3He

5、lloHadoopByeHadoopMapReduceHadoop4ByeHadoopHelloHadoopHello3World2对原始的数据进行分割(Split),得到N个不同的数据分块每一个数据分块都启动一个Map进行处理。每个Map中按照首字母将字符串分配到26个不同的桶中按照首字母将Map中不同桶中的字符串集合放置到相应的Reduce中进行处理。Splits分片•Hadoop将MapReduce的输入数据划分成等长的小数据块split.•Split意味着处理每个分片所需的时间,将少于处理整个输入数据所化时间.•Hadoop为每个分片建立一个map任务

6、,并由该任务来执行用户定义的map函数,从而处理分片中的每条记录.•Anyway,这意味着管理分片的总时间,和构建map任务的时间,将决定job的整个执行时间.实现Map类•这个类实现Mapper接口中的map方法,输入参数中的value是文本文件中的一行,•利用StringTokenizer将这个字符串拆成单词,然后将输出结果<单词,1>写入到org.apache.hadoop.mapred.OutputCollector中。WordCount-MapInputOutput.Collecter1,“HelloWorldByeWorld”

7、orld,1>MapMap(K,V){2,“HelloHadoopByeHadoop”ForeachwordwinVMapCollect(w,1);}3,“ByeHadoopHelloHadoop”Map实现Reduce类•这个类实现Reducer接口中的reduce方法,输入参数中的key,values是由Map任务输出的中间结果,•values是一个Iterator,遍历这个Iter

8、ator,就可以得到属于同一个key的

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

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

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