Hadoop点滴-初识MapReduce(2)
- 术语:
- job(作业):客户端需要执行的一个工作单元,包括输入数据、MP程序、配置信息
- Hadoop将job分成若干task(任务)来执行,其中包括两类任务:map任务、reduce任务。这些任务在集群的节点上,并通过YARN进行调度
- Hadoop将MP输入数据划分成等长的小数据块,成为“输入分片(input split)。Hadoop为每个分片构建一个map任务
- 多余大多数作业来说,一个合理分片大小趋向于HDFS的一个块的大小,默认128MB。每个新建文件可以单独指定块大小
- Hadoop在数据分片所在的节点上运行map任务,即所谓的”数据本地化优化“。
- 仅仅在非常偶然的情况下(该情况基本不会发生),将map任务分配的计算节点与数据节点分开
- 分片大小与块大小相同:优势:确保可以存储在单个节点上的最大输入块的大小,如果分片跨越两个数据块,那么对于任何一个HDFS节点,基本上都不可能同时存储这两个数据块
- map任务将其输出写入本地磁盘,而非HDFS,因为map的输出是中间结果。
- reduce任务并不具备数据本地化优势,
- 单个reduce任务的输入通常来自于所有map的输出;
- reduce的输出通常存储在HDFS中以实现可靠存储。
- reduce输出的第一个副本存储在本地节点上,其他副本出于可靠性考虑存储在其他机架的节点中。因此,reduce输出写入HDFS确实需要占用网络带宽。
- reduce任务的数量并非由输入数据的大小决定,而是独立指定的。
- 可将map输出进行分区,对每个分区指定和一个reduce任务
- 存在物reduce的MP数据流????
- combiner函数
- 集群上的可用带宽限制 MapReduce作业的数量,因此尽量避免map和reduce任务之间的数据传输时有利的。
- Hadoop允许用户针对map任务的输出指定一个combiner
- combiner接口与reduce相同,代码也可与reduce完全相同,但不能以偏概全,例如,求平均值的reduce代码,不能用于combiner
- combiner的作用:将map的结果预先reduce。
- MapReduce框架保证了键的有序性
- 通过Hadoop Streaming ,可以使用非java语言,实现mapreduce计算架构;
- 通过Hadoop Streaming ,利用Hadoop的job管理功能,实现ruby、shell的mapreduce计算
- Hadoop Streaming 使用Unix标准流作为Hadoop和应用程序之间的接口,所以我们可以使用任何编程语言通过标准输入输出来写Mapreduce程序。
- Hadoop Streaming 语法
- hadoop jar $HADOOP_HOME/share/hadoop/tools/lib/hadoop-streaming-*.jar \
- -input input/ncdc/sample.txt \
- -output output \
- -mapper xxx.rb \
- -reducer yyy.rb
Hadoop点滴-初识MapReduce(2)的更多相关文章
- Hadoop点滴-初识MapReduce(1)
分析气候数据,计算出每年全球最高气温(P25页) Map阶段:输入碎片数据,输出一系列“单键单值”键值对 内部处理,将一系列“单键单值”键值对转化成一系列“单键多值”键值对 Reduce阶段,输入“单 ...
- Hadoop学习笔记—4.初识MapReduce
一.神马是高大上的MapReduce MapReduce是Google的一项重要技术,它首先是一个编程模型,用以进行大数据量的计算.对于大数据量的计算,通常采用的处理手法就是并行计算.但对许多开发者来 ...
- Hadoop 中利用 mapreduce 读写 mysql 数据
Hadoop 中利用 mapreduce 读写 mysql 数据 有时候我们在项目中会遇到输入结果集很大,但是输出结果很小,比如一些 pv.uv 数据,然后为了实时查询的需求,或者一些 OLAP ...
- 从Hadoop框架与MapReduce模式中谈海量数据处理(含淘宝技术架构) (转)
转自:http://blog.csdn.net/v_july_v/article/details/6704077 从hadoop框架与MapReduce模式中谈海量数据处理 前言 几周前,当我最初听到 ...
- 每天收获一点点------Hadoop之初始MapReduce
一.神马是高大上的MapReduce MapReduce是Google的一项重要技术,它首先是一个编程模型,用以进行大数据量的计算.对于大数据量的计算,通常采用的处理手法就是并行计算.但对许多开发者来 ...
- Hadoop权威指南:MapReduce应用开发
Hadoop权威指南:MapReduce应用开发 [TOC] 一般流程 编写map函数和reduce函数 编写驱动程序运行作业 用于配置的API Hadoop中的组件是通过Hadoop自己的配置API ...
- hadoop系列三:mapreduce的使用(一)
转载请在页首明显处注明作者与出处 http://www.cnblogs.com/zhuxiaojie/p/7224772.html 一:说明 此为大数据系列的一些博文,有空的话会陆续更新,包含大数据的 ...
- hadoop系列四:mapreduce的使用(二)
转载请在页首明显处注明作者与出处 一:说明 此为大数据系列的一些博文,有空的话会陆续更新,包含大数据的一些内容,如hadoop,spark,storm,机器学习等. 当前使用的hadoop版本为2.6 ...
- 【Big Data - Hadoop - MapReduce】初学Hadoop之图解MapReduce与WordCount示例分析
Hadoop的框架最核心的设计就是:HDFS和MapReduce.HDFS为海量的数据提供了存储,MapReduce则为海量的数据提供了计算. HDFS是Google File System(GFS) ...
随机推荐
- linux 如何初始化密码(解决mysql root用户登录不了的问题)
这是我遇到的问题 然后就想这可能是mysql安全模式的问题,解决思路:首先改变mysql的安全模式及密码校验问题,jinrumysql后在更改用户名密码. 1.首先将my.ini中加入在[mysqld ...
- (一)spring aop的两种配置方式。
sring aop的方式有两种:(1)xml文件配置方式(2)注解的方式实现,我们可以先通过一个demo认识spring aop的实现,然后再对其进行详细的解释. 一.基于注解的springAop配置 ...
- NLP(十) 主题识别
主题识别 是发现输入文本集合中存在的主题的过程 LDA算法,即狄利克雷分布算法 from nltk.tokenize import RegexpTokenizer from nltk.corpus i ...
- DOM的高级操作-一种JS控制元素的视觉假象
1.运动中的边界处理(让其在一个指定区域内运动) 当元素的offsetLeft值超出一定距离或达到一个我们想要设置的边界值时,停止计时器. var timer; timer = setInterval ...
- HDU 4280 Island Transport(无向图最大流)
HDU 4280:http://acm.hdu.edu.cn/showproblem.php?pid=4280 题意: 比较裸的最大流题目,就是这是个无向图,并且比较卡时间. 思路: 是这样的,由于是 ...
- codeforces 879 D. Teams Formation(思维)
题目链接:http://codeforces.com/contest/879/problem/D 题意:这题题意我反正是看了很久,可能是我的理解能力有点差,就是将一个数组倍增m倍然后将连续的相同的k个 ...
- Codeforces 369 C Valera and Elections
Valera and Elections 题意:现在有n个候选人, 有n-1条路, 如果选择了这个候选人, 这个候选人就会将从自己这个城市到1号城市上所有坏的路都修复一下,现在求最小的候选人数目, 如 ...
- 牛客网 湖南大学2018年第十四届程序设计竞赛重现赛 A game
链接:https://www.nowcoder.com/acm/contest/125/A来源:牛客网 Tony and Macle are good friends. One day they jo ...
- Java中时间API使用详解
目录 Java中时间API使用详解 1. 时区概念 2. 几种常见的时间 3. 时间戳 4. Java中的时间API 5. Java8中新添加的时间API 6. 在东八区的机器上获得美国时间 Java ...
- python科学计算与可视化视频教程
目录: 下载链接:https://www.yinxiangit.com/616.html 第一单元TVTK入门-1.mp4第一单元TVTK入门-2.mp4第一单元TVTK入门-3.mp4 第一单元TV ...