`
san_yun
  • 浏览: 2594938 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

MapReduce思想理解

 
阅读更多

 

MapReduce工作流程

1.将输入源(Inputfiles)切割成不同的片段,每个片段的大小通常在16M-64M之间(可通过参数配置),然后启动云端程序。

2.MapReduce程序基于master/slaves方式部署,在云端机器中选中一台机器运行master程序,职责包括:调度任务分配给slaves,监听任务的执行情况。

3.在图形中,slave的体现形式为worker,当worker接到Map任务时,会读取输入源片段,从中解析出Key/Value键值对,并作为参数传递到用户自定义的Map功能函数之中,Map功能函数的输出值同样为Key/Value键值对,这些键值对会临时缓存在内存里面。

4.缓存之后,程序会定期将缓存的键值对写入本地硬盘(执行如图所示的local write操作),并且把存储地址传回给master,以便master记录它们的位置用以执行Reduce操作。

5.当worker被通知执行Reduce操作时,master会把相应的Map输出数据所存储的地址也发送给该worker,以便其通过远程调用来获取这些数据。得到这些数据之后,reduce worker会把具有相同Key值的记录组织到一起来达到排序的效果。

6.Reduce Worker会把排序后的数据作为参数传递到用户自定义的Reduce功能函数之中,而函数的输出结果会持久化存储到output file中去。

7.当所有的Map任务和Reduce任务结束之后,Master会重新唤醒用户主程序,至此,一次MapReduce操作调用完成。

2.2、HDFS组件结构

同MapReduce部署结构类似,HDFS同样具备master/slaves主仆结构

1.如图所示中,NameNode充当master角色,职责包括:管理文档系统的命名空间(namespace);调节客户端访问到需要的文件(存储在DateNode中的文件)

注:namespace—映射文件系统的目录结构

2.DataNodes充当slaves角色,通常情况下,一台机器只部署一个Datenode,用来存储MapReduce程序需要的数据

Namenode会定期从DataNodes那里收到Heartbeat和Blockreport反馈

Heartbeat反馈用来确保DataNode没有出现功能异常;

Blockreport包含DataNode所存储的Block集合

2.3、hadoop资源

http://wiki.apache.org/nutch/NutchHadoopTutorial基于Nutch和Hadoop完成分布式采集和分布式查询

http://wiki.apache.org/nutch/MapReduce

使用MapReduce进行排序

 

http://www.cnblogs.com/koalaer/archive/2012/04/16/MapReduce_Combiner.htmlMapReduce 算法设计 

 

http://blog.csdn.net/cuirong1986/article/details/8443841MapReduce Design Patterns(chapter 1)(一)

 

分享到:
评论

相关推荐

    mapreduce快速入门

    1.什么是mapreduce 2.编写mapreduce典型demo 3.理解mapreduce核心思想 4.熟练编写mapreduce典型demo

    Mapreduce#文档.docx

    理解 MapReduce 思想 MapReduce 思想在生活中处处可见。或多或少都曾接触过这种思想。 MapReduce 的思想核心是“ 分而治之”,适用于大量复杂的任务处理场景(大规模 数据处理场景)。即使是发布过论文实现...

    【1】MapReduce概述

    1.定义 MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的 数据分析应用”的核心框架。 MapReduce核心功能是将用户编写的业务逻辑...分析WordCount 数据流走向深入理解MapReduce 核心思想。 4.MapR

    MapReduce进行大数据分析.pdf

    大数据专业学生考试前对一整个学期的大数据分析课程做了思维导图梳理,内容包含MapReduce核心思想,Hadoop架构理解、HDFS详解、MapReduce并行计算框架(如何使用)以及利用MapReduce实现经典算法的并行化处理。

    深入理解大数据:大数据处理与编程实践

    本书全面地介绍了大数据处理相关的基本概念和原理,着重讲述了Hadoop MapReduce大数据处理系统的组成结构、工作原理和编程模型,分析了基于MapReduce的各种大数据并行处理算法和程序设计的思想方法。适合高等院校...

    深入理解大数据 大数据处理与编程实践【2/2】

    以大数据处理主流平台Hadoop1.0为核心,介绍Hadoop MapReduce,HDFS,HBase,以及Hive的基本设计思想、工作原理、系统构架、以及详细的大数据处理编程技术。 特点: (1) 重点放在教读者算法设计实现,从基础算法,...

    深入理解大数据 大数据处理与编程实践【1/2】

    以大数据处理主流平台Hadoop1.0为核心,介绍Hadoop MapReduce,HDFS,HBase,以及Hive的基本设计思想、工作原理、系统构架、以及详细的大数据处理编程技术。 特点: (1) 重点放在教读者算法设计实现,从基础算法,...

    Distribute Systems

    我想要一本书,将许多最近分布式系统的思想结合在一起,例如亚马逊的Dynamo、谷歌的BigTable和MapReduce、Apache的Hadoop等等。 在这本书中,我试图提供一个更易于理解的分布式系统介绍。对我而言,这意味着两件事情...

    大数据实验报告.docx

    这次的实验总体来说完成的不错,让我理解了MapReduce的整体流程,还有MapReduce的"分而治之"的思想,让任务更加高效的完成。将任务分开处理的过程为map阶段,将每个小任务的结果合并到一起的过程为reduce阶段。而这...

    大数据处理框架.pdf

    事实上,与很多⼈理解不同的是,MapReduce对⼤数据计算的最⼤贡献,其实并不是它名字直观显⽰的Map和Reduce思想(正如上⽂提到 的,Map和Reduce思想在Lisp等函数式编程语⾔中很早就存在了),⽽是这个计算框架可以...

    大数据离线计算.pdf

    mapreduce分布式计算: 核⼼思想是让多个机器并⾏计算,并通过对数据本地性的利⽤,尽量处理本机器上的那⼀部分数据,减少跨⽹络的数据传输。很多传统的数 据库/数据仓库也⽀持利⽤多核CPU、集群技术来进⾏分布式...

    C#并行编程高级教程:精通.NET 4 Parallel Extensions中文(第一部分)

    1.6.1 以并发的思想指导设计 1.6.2 理解交错并发、并发和并行之间的区别 1.6.3 并行化任务 1.6.4 尽量减少临界区 1.6.5 理解多核并行程序的设计原则 1.7 为NUMA架构和更高的可扩展性做好准备 1.8 判断是否适合并行化...

    C#并行编程高级教程:精通.NET 4 Parallel Extensions中文(第2部分)

    1.6.1 以并发的思想指导设计 1.6.2 理解交错并发、并发和并行之间的区别 1.6.3 并行化任务 1.6.4 尽量减少临界区 1.6.5 理解多核并行程序的设计原则 1.7 为NUMA架构和更高的可扩展性做好准备 1.8 判断是否适合...

    C#并行编程高级教程:精通.NET 4 Parallel Extensions中文(第3部分)

    1.6.1 以并发的思想指导设计 1.6.2 理解交错并发、并发和并行之间的区别 1.6.3 并行化任务 1.6.4 尽量减少临界区 1.6.5 理解多核并行程序的设计原则 1.7 为NUMA架构和更高的可扩展性做好准备 1.8 判断是否适合...

    Apache Spark的设计与实现 PDF中文版

    本文主要讨论 Apache Spark 的设计与实现,重点关注其设计思想、运行原理、实现架构及性能调优,附带讨论与 Hadoop MapReduce 在设计与实现上的区别。不喜欢将该文档称之为“源码分析”,因为本文的主要目的不是去...

    《ApacheSpark设计与实现》.zip

    本文主要讨论 Apache Spark 的设计与实现,重点关注其设计思想、运行原理、实现架构及性能调优,附带讨论与 Hadoop MapReduce 在设计与实现上的区别。不喜欢将该文档称之为“源码分析”,因为本文的主要目的不是...

    HDFS全面详解

    HadoopHDFS分布式文件系统DFS简介HDFS的系统组成介绍HDFS的组成部分详解副本存放策略及路由规则命令行接口Java接口客户端与HDFS的数据流讲解掌握hdfs的shell操作掌握hdfs的javaapi操作理解hdfs的工作原理设计思想...

Global site tag (gtag.js) - Google Analytics