Hadoop基本原理之一:MapReduce 分类: A1_HADOOP 2014-08-17 19:26 1113人阅读 评论(0) 收藏
1、为什么需要Hadoop
目前,一块硬盘容量约为1TB,读取速度约为100M/S,因此完成一块硬盘的读取需时约2.5小时(写入时间更长)。若把数据放在同一硬盘上,且全部数据均需要同一个程序进行处理,此程序的处理时间将主要浪费在I/O时间上。
在过去几十年,硬盘的读取速度并未明显增长,而网络传输速度此飞速上升。
因此,若把数据分散到多个硬盘上进行存储(如分成100份存储在100个硬盘上),则读取数据所需时间大大减少,并将各节点处理好的结果通过网络进行传输。
但这将导致2个问题
(1)数据被分散到多个硬盘中,某个盘发生故障导致部分数据出错的可能性大大增加,因此需要对数据进行复制备份======>> HDFS!!
(2)数据分散在多个盘,一般会在本地进行初步处理,,如何将处理结果进行合并============>>MapReduce!!!
2、基本节点
在Hadoop中,主要有以下5类节点:
(1) JobTracker
(2) TaskTracker
(3) NameNode
(4) DataNode
(5) SecondaryNameNode
3、零碎理论
(1)Hadoop将MapReduce的输入分成固定大小的切片,称为input split。大多数情况下,切片的大小与HDFS块的大小相等(默认情况下是64M)。
(2)
4、本地数据优先
Hadoop倾向于在存储数据的节点上进行map处理,这称为data locality optimization。
(1)首先,hadoop倾向于将数据在本地节点进行数据,如图中的a.
(2)若存储数据的节点有其它task正在进行处理,则在本机架内寻找另一个节点进行数据处理,如图中b。
(3)若本机架内所有节点均有task正在进行处理,则在其它机架内寻找节点进行数据处理。
5、MapReduce的数据流向
(1)单reducer情况
(2)多reducer情况
6、Combiner
在map与reduce之间,可以增加combiner函数,对map产生的结果进行预处理。
版权声明:本文为博主原创文章,未经博主允许不得转载。
Hadoop基本原理之一:MapReduce 分类: A1_HADOOP 2014-08-17 19:26 1113人阅读 评论(0) 收藏的更多相关文章
- 浅谈IOS8之size class 分类: ios技术 2015-02-05 19:06 62人阅读 评论(0) 收藏
文章目录 1. 简介 2. 实验 3. 实战 3.1. 修改 Constraints 3.2. 安装和卸载 Constraints 3.3. 安装和卸载 View 3.4. 其他 4. 后话 以前和安 ...
- Network Saboteur 分类: 搜索 POJ 2015-08-09 19:48 7人阅读 评论(0) 收藏
Network Saboteur Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 10147 Accepted: 4849 Des ...
- 欧拉通路-Play on Words 分类: POJ 图论 2015-08-06 19:13 4人阅读 评论(0) 收藏
Play on Words Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 10620 Accepted: 3602 Descri ...
- Power Strings 分类: POJ 串 2015-07-31 19:05 8人阅读 评论(0) 收藏
Time Limit:3000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit Status Practice POJ ...
- 迷之节约 分类: sdutOJ 最小生成树 2015-06-24 19:10 10人阅读 评论(0) 收藏
迷之节约 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 FF超级有钱,最近又买了n个(1 <= n <= 300)小岛,为 ...
- Hdu 1506 Largest Rectangle in a Histogram 分类: Brush Mode 2014-10-28 19:16 93人阅读 评论(0) 收藏
Largest Rectangle in a Histogram Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 ...
- 二分图匹配 分类: ACM TYPE 2014-10-01 19:57 94人阅读 评论(0) 收藏
#include<cstdio> #include<cstring> using namespace std; bool map[505][505]; int n, k; bo ...
- Tomcat原理 分类: 原理 2015-06-28 19:26 5人阅读 评论(0) 收藏
Tomcat的模块结构设计的相当好,而且其Web 容器的性能相当出色.JBoss直接就使用了Tomcat的web容器,WebLogic的早期版本也是使用了Tomcat的代码. Web容器的工作过程在下 ...
- Can you find it? 分类: 二分查找 2015-06-10 19:55 5人阅读 评论(0) 收藏
Description Give you three sequences of numbers A, B, C, then we give you a number X. Now you need t ...
随机推荐
- 30.Node.js 全局对象
转自:http://www.runoob.com/nodejs/nodejs-module-system.html 学习要点: - __filename - __dirname - setTimeou ...
- jQuery post 打开新窗口
//使用POST方式打开界面 function doOpenPostWin(url, args, name, windowParam) { //创建表单对象 var _form = $("& ...
- 前端上传文件 后端PHP获取文件
<body> <form action="03-post-file.php" method="post" enctype="mult ...
- Activity学习
http://www.360doc.com/content/13/1106/11/203871_327110236.shtml http://www.jianshu.com/p/e6971e8a8da ...
- 洛谷 P2819 图的m着色问题
P2819 图的m着色问题 题目背景 给定无向连通图G和m种不同的颜色.用这些颜色为图G的各顶点着色,每个顶点着一种颜色.如果有一种着色法使G中每条边的2个顶点着不同颜色,则称这个图是m可着色的.图的 ...
- BPX-tree
写的匆忙 估计有BUG 修改后 会去掉这个 说明 /** * @author shuly * @date 2017/6/5. */ // hint 一日为叶,终身为叶, 最后还是要转换成 <链 ...
- CentOS6 安装中文包和变更系统默认语言
CentOS6 安装中文包和变更系统默认语言 用 yum 安装语言包的命令是 yum groupinstall <language>-support ,其中 <langua ...
- Rotation--控件位置旋转
今天想要完成一个按钮的动画,也就是随着手势在屏幕上的滑动,让按钮图片跟着旋转.刚开始的思路是,先把图片旋转以后,在把这个图片设置为imagebutton的背景.不过,会发现这个图片经过处理以后一直变形 ...
- 分析器错误消息: 此实现不是 Windows 平台 FIPS 验证的加密算法的一部分
关于错误提示:此实现不是 Windows 平台 FIPS 验证的加密算法的一部分的解决方案 不知怎么的,每次Win10升级后相应的注册器都恢复默认了,当我运行08版的asp项目时会报这个错. vs上的 ...
- Oracle调用Java类开发的存储过程、函数的方法
oracle调用java类的基本步骤 1. 编写java代码,后续可以直接使用java代码,class文件或者jar包 2. 将写好的java代码导入到oracle数据库中,有两种方法:一种是使用lo ...