Hadoop 对MapReduce的理解
- 对MapReduce的理解
- 客户端启动一个作业
 - 向JobTraker请求一个JobId
 - 将资源文件复制到HDFS上,包括Jar文件,配置文件,输入划分信息等
 - 接收作业后,进入作业队列,根据输入划分信息为每个划分创建一个map任务,并将map任务分配给TaskTracker来执行(运算移动,数据不移动)分配Reduce任务时,不考虑数据本地化
 - TaskTracker每隔一段时间向JobTracker发送一个心跳, 告诉JobTracker它仍在运行,同时心跳中还带有很多信息,比如任务进度
 
 
- Map端
- 输入分片(默认64M)进入Map,输出则暂且放到缓存中,缓冲区快要溢出时,会在本地创建一个溢出文件
 - Partition(hash)和分区的内部排序,每个分区对应一个reduce任务
 - 合并这些溢出文件
- 减少每次写入磁盘的数据量
 - 减少下一阶段网络传输的数据量
 
 - 将分区中的数据拷贝给reduce任务(map-TaskTracker-JobTracker)
 
 
- Reduce端
- 接收到每个map传输来的有效数据(有序),超过了缓冲区,就写入到磁盘中
 - 将溢出文件不断合并成一个更大的有序文件
 - 最后一次合并的数据,不输出到磁盘,直接输出到reduce函数中
 
 
Hadoop 对MapReduce的理解的更多相关文章
- 从Hadoop骨架MapReduce在海量数据处理模式(包括淘宝技术架构)
		
从hadoop框架与MapReduce模式中谈海量数据处理 前言 几周前,当我最初听到,以致后来初次接触Hadoop与MapReduce这两个东西,我便稍显兴奋,认为它们非常是神奇.而神奇的东西常能勾 ...
 - Hadoop基础-MapReduce入门篇之编写简单的Wordcount测试代码
		
Hadoop基础-MapReduce入门篇之编写简单的Wordcount测试代码 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本文主要是记录一写我在学习MapReduce时的一些 ...
 - Hadoop基础-MapReduce的排序
		
Hadoop基础-MapReduce的排序 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MapReduce的排序分类 1>.部分排序 部分排序是对单个分区进行排序,举个 ...
 - Hadoop基础-MapReduce的工作原理第一弹
		
Hadoop基础-MapReduce的工作原理第一弹 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在本篇博客中,我们将深入学习Hadoop中的MapReduce工作机制,这些知识 ...
 - Hadoop 新 MapReduce 框架 Yarn 详解【转】
		
[转自:http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-yarn/] 简介: 本文介绍了 Hadoop 自 0.23.0 版本 ...
 - Hadoop 新 MapReduce 框架 Yarn 详解
		
Hadoop 新 MapReduce 框架 Yarn 详解: http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-yarn/ Ap ...
 - 用PHP编写Hadoop的MapReduce程序
		
用PHP编写Hadoop的MapReduce程序 Hadoop流 虽然Hadoop是用Java写的,但是Hadoop提供了Hadoop流,Hadoop流提供一个API, 允许用户使用任何语言编 ...
 - Hadoop之MapReduce程序应用三
		
摘要:MapReduce程序进行数据去重. 关键词:MapReduce 数据去重 数据源:人工构造日志数据集log-file1.txt和log-file2.txt. log-file1.txt内容 ...
 - 对于Hadoop的MapReduce编程makefile
		
根据近期需要hadoop的MapReduce程序集成到一个大的应用C/C++书面框架.在需求make当自己主动MapReduce编译和打包的应用. 在这里,一个简单的WordCount1一个例子详细的 ...
 
随机推荐
- Oracle的权限管理
			
--授予系统权限语法 grant system_privilege | all privileges --可以设置select any dictionary权限之外的索引系统权限 to {user i ...
 - Linux下开放防火墙端口
			
方法一:1.vi /etc/sysconfig/iptables 2.-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEP ...
 - 机器学习(二十四)— 偏差Bias 与方差Variance
			
1.首先 Error = Bias + Variance Error反映的是整个模型的准确度, Bias反映的是模型在样本上的输出与真实值之间的误差,即模型本身的精准度, Variance反映的是模 ...
 - JS常用工具类代码
			
http://www.cnblogs.com/liszt/archive/2011/08/16/2140007.html js/javascript删除字符串中的html标签 function rem ...
 - PyCharm配置过程记录
			
也可以通过命令行来上传和下载git bash here 同步最新代码到本地: git fetch git pull 上传文件至git仓库: git commit git push 安装第三方模块方式 ...
 - linux命令学习笔记(17):whereis 命令
			
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b).man说明文件(参数-m)和 源代码文件(参数-s).如果省略参数,则返回所有信息. 和find相比,whereis查找的速度 ...
 - Maven发布项目丢失Mybatis Mapper包的映射问题
			
由于一些eclipse版本问题,mybatis的mapper包中的sql文件没有被打进包,需要在pom中加入: <build> <!--配置打包时不过滤非java文件开始 --> ...
 - BZOJ4676 Xor-Mul棋盘
			
传送门 题目大意懒得写了,题目说的挺明白的了 题解 主要的难点在于异或意义下的最大值和很玄学,但不难发现这道题中让你定义的$D_{i,j}$只参与异或运算,所以我们可以逐位进行讨论.所以我们每一位就只 ...
 - OSS阿里云文件上传 demo。
			
所需jar包: aliyun-openservices-1.2.3.jar jdom-1.1.jar commons-codec-1.4.jar commons-logging-1.1.1.jar g ...
 - 霍夫变换Hough
			
http://blog.csdn.net/sudohello/article/details/51335237 霍夫变换Hough 霍夫变换(Hough)是一个非常重要的检测间断点边界形状的方法.它通 ...