下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、HadoopMapReduce (2012-06-23 16:26:43)转载标签:杂谈Hadoop MapReduce是一个用于处理海量数据的分布式计算框架。这个框架解决了诸如数据分布式存储、作业调度、容错、机器间通信等复杂问题,可以使没有并行处理或者分布式计算经验的工程师,也能很轻松地写出结构简单的、应用于成百上千台机器处理大规模数据的并行分布式程序。Hadoop MapReduce基于“分而治之”的思想,将计算任务抽象成map和reduce两个计算过程,可以简单理解为“分散运算归并结果”的过程。一个MapReduce程序首先会把输入数据分割成不相关的若干键/值对(key1/value1)
2、集合,这些键/值对会由多个map任务来并行地处理。MapReduce会对map的输出(一些中间键/值对key2/value2集合)按照key2进行排序,排序是用memcmp的方式对key在内存中字节数组比较后进行升序排序,并将属于同一个key2的所有value2组合在一起作为reduce任务的输入,由reduce任务计算出最终结果并输出key3/value3。作为一个优化,同一个计算节点上的key2/value2会通过combine在本地归并。基本流程如下:Hadoop和单机程序计算流程对比:常计算任务的输入和输出都是存放在文件里的,并且这些文件被存放在Hadoop分布式文件系统HDFS(Ha
3、doop Distributed File System)中,系统会尽量调度计算任务到数据所在的节点上运行,而不是尽量将数据移动到计算节点上,减少大量数据在网络中传输,尽量节省带宽消耗。应用程序开发人员一般情况下需要关心的是图中灰色的部分,单机程序需要处理数据读取和写入、数据处理;Hadoop程序需要实现map和reduce,而数据读取和写入、map和reduce之间的数据传输、容错处理等由Hadoop MapReduce和HDFS自动完成。Map-Reduce简介 (2012-06-23 16:19:30)转载标签:杂谈MapReduce是一种编程模型,始于:Dean, Jeffrey &
4、Ghemawat, Sanjay (2004). MapReduce: Simplified Data Processing on Large Clusters。主要应用于大规模数据集的并行运算。其将并行计算简化为Map和reduce过程,极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。程序员只需要指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,然后指定并发的Reduce(化简)函数,用来保证所有映射的键值对中的每一个共享相同的键组。MapReduce 的根源是函数性编程中的 map 和 reduce 函数。它由两个可能包含有许多实例(许多
5、Map 和 Reduce)的操作组成。Map 函数接受一组数据并将其转换为一个键/值对列表,输入域中的每个元素对应一个键/值对。Reduce 函数接受 Map 函数生成的列表,然后根据它们的键(为每个键生成一个键/值对)缩小键/值对列表。其流程概念图如下:一个典型的Map-Reduce过程如下:Input-Map-Patition-Reduce-OutputInput Phase输入的数据需要以一定的格式传递给Mapper的,格式有多种,数据一般分布在多台机器。Map Phase对输入的数据进行处理,输出的是key、value的集合。Partition Phase把Mapper任务输出的中间结
6、果按key的范围划分成R份(R是预先定义的Reduce任务的个数),默认的划分算法是(key.hashCode() & Integer.MAX_VALUE) % numPartitions,这样保证了某一范围的key一定是由某个Reducer来处理。Reduce PhaseReducer获取Mapper输出的中间结果,作为输入对某一key范围区间进行处理。Output PhaseReducer的输出格式和Mapper的输入格式是相对应的,当然Reducer的输出还可以作为另一个Mapper的输入继续进行处理。MapReduce的优缺点:主要有两个方面:1.通过MapReduce这个分布式处理框架,不仅能用于处理大规模数据,而且能将很多繁琐的细节隐藏起来,比如,自动并行化、负载均衡和灾备管理等,这样将极大地简化程序员的开发工作;2.MapReduce的伸缩性非常好,也就
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2027届山东省临沂市兰山区临沂一中高二物理第一学期期中质量检测试题含解析
- 山东省枣庄现代实验学校2027届高二上物理期中检测试题含解析
- 2026年美容产品销售的经验分享与案例分析
- 2026年天然木材防腐剂应用现状
- 台山电厂航道骤淤问题剖析与应对策略研究
- 可视化新型生态抑尘剂的研制与应用探索:技术创新与实践效能
- 可溶性大豆多糖对油条品质的多维度影响及温度协同抗老化探究
- 可回收腔静脉滤器在临床应用中的多维度剖析与展望
- 古韵新履:中国传统造型元素在鞋类创意设计中的融合与创新
- 上海市长宁区网格员面试题库及答案
- (2026年)三力测试官方模拟考试题库完整版(可直接刷题)
- 2026秋季开明出版社五年级上册《魅力辽宁》教学工作计划
- 2026年辽宁省员额检察官遴选考试真题及答案
- 2026年秋大象版(新教材)小学科学四年级上册教学计划及进度表
- 2026秋小学科学教科版六年级上册(新教材)教学计划附进度表
- 2026版保密教育线上培训考试题库参考答案
- 招标代理业务内控管理手册
- 2026年秋季统计学专业开学第一课 专业素养与核心竞争力教学设计
- 麻风病皮肤查菌技术课件
- 教育学 第四章 学生与教师
- 人工智能数学基础高职PPT完整全套教学课件
评论
0/150
提交评论