hadoop基础之初识Hadoop MapReduce架构

Hadoop的mapreduce是一个快速、高效、简单用于编写的并运行处理大数据程序并应用在大数据集群上的编程框架。它将复杂的、运行于大规模集群上的并行计算过程高度的抽象到两个函数:map、reduce。适用于MP来处理的数据集(或者任务),需要满足一个基本的要求:待处理的数据集可以分解成许多小的数据集额,而且每一个小数据集都可以完全并行的进行处理。

图1.2-1MP框架数据流

MP框架包括一个主节点(ResourceManager)、多个子节点(运行NodeManager)和MRAppMaster(每个任务一个)共同组成。

针对上面的流程图可以分为两个阶段来描述:

(1)MAP阶段

1)input根据输入文件产生键值对,并传送到Mapper类的MAP函数中;

2)map输出键值对到一个没有排序的缓冲内存中;

3)当缓冲内存到给定值或者map的任务完成后,在缓冲内存中的键值对就会被排序,然后输出到磁盘中溢出文件;

4)如果有多个溢出文件,那么就会整合这些文件到一个文件中,且是排序的;

5)这些排序过的、在溢出文件中的键值对会等待reduce的获取。

(2)Reduce阶段

1)reduce获取map的记录,然后产生另外的键值对,最后输出到HDFS中;

2)shuffe:相同的key被传送到同一个reduce中

3)当有一个mapper完成后,reduce就开始获取相关数据,所有的溢出文件就会被整合排序到一个内存缓冲区

4)当内存缓冲区满了后,就会溢出文件到本地磁盘

5)当reduce所有相关的数据都传输完后,所有溢出文件就会被整合和排序

6)Reducer中reduce方法针对每个key调用一次

7)Reduce的输出到hdfs

原文地址:https://www.cnblogs.com/sirlijun/p/9326253.html

时间: 2024-10-29 02:08:03

hadoop基础之初识Hadoop MapReduce架构的相关文章

Hadoop基础之初识大数据与Hadoop

前言 从今天起,我将一步一步的分享大数据相关的知识,其实很多程序员感觉大数据很难学,其实并不是你想象的这样,只要自己想学,还有什么难得呢? 学习Hadoop有一个8020原则,80%都是在不断的配置配置搭建集群,只有20%写程序! 一.引言(大数据时代) 1.1.从数据中得到信息 我们看一张图片: 我们知道这个图片上的人叫张小妹,年龄20岁,职业模特.但是如果只有数据没有图片的话,就没有意义的数据了.所以数据一定是在特定的环境下才有意义的. 我们再来看一张图片: 从这张图片分析出: 从纵向分析,

hadoop基础概念之Hadoop核心组件

认知和学习Hadoop,我们必须得了解Hadoop的构成,我根据自己的经验通过Hadoop构件.大数据处理流程,Hadoop核心三个方面进行一下介绍: Hadoop组件 由图我们可以看到Hadoop组件由底层的Hadoop核心构件以及上层的Hadoop生态系统共同集成,而上层的生态系统都是基于下层的存储和计算来完成的. 首先我们来了解一下核心构件:Mapreduce和HDFS.核心组件的产生都是基于Google的思想来的,Google的GFS带来了我们现在所认识的HDFS,Mapreduce带来

2本Hadoop技术内幕电子书百度网盘下载:深入理解MapReduce架构设计与实现原理、深入解析Hadoop Common和HDFS架构设计与实现原理

这是我收集的两本关于Hadoop的书,高清PDF版,在此和大家分享: 1.<Hadoop技术内幕:深入理解MapReduce架构设计与实现原理>董西成 著  机械工业出版社2013年5月出版 2.<Hadoop技术内幕:深入解析Hadoop Common和HDFS架构设计与实现原理>蔡斌.陈湘萍 著  机械工业出版社2013年4月出版 百度网盘下载地址: http://pan.baidu.com/s/1sjNmkFj

《Hadoop基础教程》之初识Hadoop

Hadoop一直是我想学习的技术,正巧最近项目组要做电子商城,我就开始研究Hadoop,虽然最后鉴定Hadoop不适用我们的项目,但是我会继续研究下去,技多不压身. <Hadoop基础教程>是我读的第一本Hadoop书籍,当然在线只能试读第一章,不过对Hadoop历史.核心技术和应用场景有了初步了解. Hadoop历史 雏形开始于2002年的Apache的Nutch,Nutch是一个开源Java 实现的搜索引擎.它提供了我们运行自己的搜索引擎所需的全部工具.包括全文搜索和Web爬虫. 随后在2

《Hadoop基础教程》之初识Hadoop 【转】

Hadoop一直是我想学习的技术,正巧最近项目组要做电子商城,我就开始研究Hadoop,虽然最后鉴定Hadoop不适用我们的项目,但是我会继续研究下去,技多不压身. <Hadoop基础教程>是我读的第一本Hadoop书籍,当然在线只能试读第一章,不过对Hadoop历史.核心技术和应用场景有了初步了解. Hadoop历史 雏形开始于2002年的Apache的Nutch,Nutch是一个开源Java 实现的搜索引擎.它提供了我们运行自己的搜索引擎所需的全部工具.包括全文搜索和Web爬虫. 随后在2

《Hadoop基础教程》之初识Hadoop(转载)

转载自博主:上善若水任方圆http://blessht.iteye.com/blog/2095675 Hadoop一直是我想学习的技术,正巧最近项目组要做电子商城,我就开始研究Hadoop,虽然最后鉴定Hadoop不适用我们的项目,但是我会继续研究下去,技多不压身. <Hadoop基础教程>是我读的第一本Hadoop书籍,当然在线只能试读第一章,不过对Hadoop历史.核心技术和应用场景有了初步了解. Hadoop历史 雏形开始于2002年的Apache的Nutch,Nutch是一个开源Jav

[转载] 《Hadoop基础教程》之初识Hadoop

转载自http://blessht.iteye.com/blog/2095675 Hadoop一直是我想学习的技术,正巧最近项目组要做电子商城,我就开始研究Hadoop,虽然最后鉴定Hadoop不适用我们的项目,但是我会继续研究下去,技多不压身. <Hadoop基础教程>是我读的第一本Hadoop书籍,当然在线只能试读第一章,不过对Hadoop历史.核心技术和应用场景有了初步了解. Hadoop历史 雏形开始于2002年的Apache的Nutch,Nutch是一个开源Java 实现的搜索引擎.

Hadoop学习(五)-MapReduce架构原理

概述 hadoop主要是用于应对海量数据的存储和计算的,前面hdfs文件系统,则重点是用于海量数据的存储.那么有了这么多数据,我们又该怎么在这些数据里面来提取我们需要的信息呢?这个时候hadoop中出现了一个非常重要的成员MapReduce.MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算.注意这个并行运算,它不再是我们传统意义上的串行计算,它可以在不同的进程中进行并行的运算.概念"Map(映射)"和"Reduce(归约)",是它们的主要思

Hadoop基础---MapReduce对数据进行排序

承接上文:Hadoop基础---流量求和MapReduce程序及自定义数据类型 一:实验数据 对上一篇文章中的数据进行排序处理: 13480253104 180 200 380 13502468823 102 7335 7437 13560439658 5892 400 6292 13600217502 186852 200 187052 13602846565 12 1938 1950 13660577991 9 6960 6969 13719199419 0 200 200 13726230