Hadoop基本原理之一:MapReduce
来源:互联网 发布:pc蛋蛋开奖网站源码 编辑:程序博客网 时间:2024/05/29 16:14
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
- Hadoop基本原理之一:MapReduce
- MapReduce基本原理
- Hadoop基本原理
- Hadoop基本原理
- [Hadoop源码详解]之一MapReduce篇之InputForma
- [Hadoop源码详解]之一MapReduce篇之InputFormat
- [Hadoop源码详解]之一MapReduce篇之InputFormat
- [Hadoop源码详解]之一MapReduce篇之InputFormat
- [Hadoop源码详解]之一MapReduce篇之InputFormat
- [Hadoop源码详解]之一MapReduce篇之InputFormat
- [Hadoop源码详解]之一MapReduce篇之InputFormat
- MapReduce的基本原理
- 4.MapReduce基本原理
- MapReduce 之一:MapReduce体系结构
- hadoop之MapReduce基本原理及入门WordCount小例子(三)
- MapReduce&hadoop
- Hadoop MapReduce
- hibernate使用hql跨表查询遇到的问题以及解决方式
- 【Nutch2.2.1基础教程之1】nutch相关异常
- eclipse gradle插件配置
- 【Nutch2.2.1基础教程之6】Nutch2.2.1抓取流程
- Hadoop1.2.1伪分布模式安装指南
- Hadoop基本原理之一:MapReduce
- 8大排序算法图文讲解
- 【Nutch2.2.1基础教程之3】Nutch2.2.1配置文件
- hdu 2222
- 最完美解决Nginx部署ThinkPHP项目的办法
- Hadoop配置文件
- Error:Execution failed for task ':app:dexDebug'.> com.android.ide.common.process.ProcessException: o
- Hadoop入门经典:WordCount
- 使用ToolRunner运行Hadoop程序基本原理分析