1. 术语:
    1. job(作业):客户端需要执行的一个工作单元,包括输入数据、MP程序、配置信息
    2. Hadoop将job分成若干task(任务)来执行,其中包括两类任务:map任务、reduce任务。这些任务在集群的节点上,并通过YARN进行调度
    3. Hadoop将MP输入数据划分成等长的小数据块,成为“输入分片(input split)。Hadoop为每个分片构建一个map任务
    4. 多余大多数作业来说,一个合理分片大小趋向于HDFS的一个块的大小,默认128MB。每个新建文件可以单独指定块大小
    5. Hadoop在数据分片所在的节点上运行map任务,即所谓的”数据本地化优化“。
    6. 仅仅在非常偶然的情况下(该情况基本不会发生),将map任务分配的计算节点与数据节点分开
    7. 分片大小与块大小相同:优势:确保可以存储在单个节点上的最大输入块的大小,如果分片跨越两个数据块,那么对于任何一个HDFS节点,基本上都不可能同时存储这两个数据块
    8. map任务将其输出写入本地磁盘,而非HDFS,因为map的输出是中间结果。
    9. reduce任务并不具备数据本地化优势,
    10. 单个reduce任务的输入通常来自于所有map的输出;
    11. reduce的输出通常存储在HDFS中以实现可靠存储。
    12. reduce输出的第一个副本存储在本地节点上,其他副本出于可靠性考虑存储在其他机架的节点中。因此,reduce输出写入HDFS确实需要占用网络带宽。
    13. reduce任务的数量并非由输入数据的大小决定,而是独立指定的。
    14. 可将map输出进行分区,对每个分区指定和一个reduce任务
    15. 存在物reduce的MP数据流????
    16. combiner函数
      1. 集群上的可用带宽限制 MapReduce作业的数量,因此尽量避免map和reduce任务之间的数据传输时有利的。
      2. Hadoop允许用户针对map任务的输出指定一个combiner
      3. combiner接口与reduce相同,代码也可与reduce完全相同,但不能以偏概全,例如,求平均值的reduce代码,不能用于combiner
      4. combiner的作用:将map的结果预先reduce。
    17. MapReduce框架保证了键的有序性
    18. 通过Hadoop Streaming ,可以使用非java语言,实现mapreduce计算架构;
    19. 通过Hadoop Streaming ,利用Hadoop的job管理功能,实现ruby、shell的mapreduce计算
    20. Hadoop Streaming 使用Unix标准流作为Hadoop和应用程序之间的接口,所以我们可以使用任何编程语言通过标准输入输出来写Mapreduce程序。
    21. Hadoop Streaming 语法
      1. hadoop jar $HADOOP_HOME/share/hadoop/tools/lib/hadoop-streaming-*.jar \
      2. -input input/ncdc/sample.txt \
      3. -output output \
      4. -mapper xxx.rb \
      5.   -reducer yyy.rb

      

Hadoop点滴-初识MapReduce(2)的更多相关文章

  1. Hadoop点滴-初识MapReduce(1)

    分析气候数据,计算出每年全球最高气温(P25页) Map阶段:输入碎片数据,输出一系列“单键单值”键值对 内部处理,将一系列“单键单值”键值对转化成一系列“单键多值”键值对 Reduce阶段,输入“单 ...

  2. Hadoop学习笔记—4.初识MapReduce

    一.神马是高大上的MapReduce MapReduce是Google的一项重要技术,它首先是一个编程模型,用以进行大数据量的计算.对于大数据量的计算,通常采用的处理手法就是并行计算.但对许多开发者来 ...

  3. Hadoop 中利用 mapreduce 读写 mysql 数据

    Hadoop 中利用 mapreduce 读写 mysql 数据   有时候我们在项目中会遇到输入结果集很大,但是输出结果很小,比如一些 pv.uv 数据,然后为了实时查询的需求,或者一些 OLAP ...

  4. 从Hadoop框架与MapReduce模式中谈海量数据处理(含淘宝技术架构) (转)

    转自:http://blog.csdn.net/v_july_v/article/details/6704077 从hadoop框架与MapReduce模式中谈海量数据处理 前言 几周前,当我最初听到 ...

  5. 每天收获一点点------Hadoop之初始MapReduce

    一.神马是高大上的MapReduce MapReduce是Google的一项重要技术,它首先是一个编程模型,用以进行大数据量的计算.对于大数据量的计算,通常采用的处理手法就是并行计算.但对许多开发者来 ...

  6. Hadoop权威指南:MapReduce应用开发

    Hadoop权威指南:MapReduce应用开发 [TOC] 一般流程 编写map函数和reduce函数 编写驱动程序运行作业 用于配置的API Hadoop中的组件是通过Hadoop自己的配置API ...

  7. hadoop系列三:mapreduce的使用(一)

    转载请在页首明显处注明作者与出处 http://www.cnblogs.com/zhuxiaojie/p/7224772.html 一:说明 此为大数据系列的一些博文,有空的话会陆续更新,包含大数据的 ...

  8. hadoop系列四:mapreduce的使用(二)

    转载请在页首明显处注明作者与出处 一:说明 此为大数据系列的一些博文,有空的话会陆续更新,包含大数据的一些内容,如hadoop,spark,storm,机器学习等. 当前使用的hadoop版本为2.6 ...

  9. 【Big Data - Hadoop - MapReduce】初学Hadoop之图解MapReduce与WordCount示例分析

    Hadoop的框架最核心的设计就是:HDFS和MapReduce.HDFS为海量的数据提供了存储,MapReduce则为海量的数据提供了计算. HDFS是Google File System(GFS) ...

随机推荐

  1. Linux软件包管理(12)

    RPM包管理: RPM(RedHat Package Manager),早期是在RedHat发行版下,由于比较火,所以慢慢运行于各个发行版(如suse,centos等). 它生成具有.RPM扩展名的文 ...

  2. unity shader 纹理&透明效果

    1.纹理映射基础 (1)纹理映射通过(u,v)坐标实现.注意:这句话时博主当时面试一家外企被问到的问题. (2)添加纹理属性:——MainTex("Main Tex",2D)=&q ...

  3. java实现截取PDF指定页并进行图片格式转换

    1.引入依赖 <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox& ...

  4. Date与String之间相互转换

    项目中经常用到,Date类型与String类型的转换,所以写个工具类 直接贴代码: package com.elite.isun.utils; import java.text.ParseExcept ...

  5. JVM中class文件探索与解析

    一直想成为一名优秀的架构师的我,转眼已经工作快两年了,对于java内核了解甚少,闲来时间,看看JVM,吧自己的一些研究写下来供大家参考,有不对的地方请指正. 废话不多说,一起来看看JVM中类文件是如何 ...

  6. 【Bazinga HDU - 5510 】【考察strstr()的使用】【贪心】

    题意分析 1.题目大致说的是让你输出符合这种条件(在所给的字符串中至少有一个不是它的子串)的字符串对应的label,若没有输出-1: 2.判断子串可以用string.h下的strstr(s1, s2) ...

  7. wps10.1中将txt转为excel

    1.将想要保存的内容保存为txt格式,用分隔符分隔好(包括空格.制表符.英文的逗号以及分号四种). 2.打开wps 3.点击数据->导入数据,选择刚才的txt文件 4.一步步操作,即可.

  8. 最短路问题---Dijkstra算法学习

    Dijkstra又称单源最短路算法,就从一个节点到其他各点的最短路,解决的是有向图的最短路问题 此算法的特点是:从起始点为中心点向外层层扩展,直到扩展到中终点为止. 该算法的条件是所给图的所有边的权值 ...

  9. 用lnmp架构部署wordpress网站详细步骤

    用lnmp架构部署wordpress网站 ①.下载和上传网站代码 用winscp或者xftp, 或者xshell下执行rz命令进行上传网站的包文件. ②.解压程序代码,并将程序代码保存到站点目录,并进 ...

  10. git bash 界面修改成linux界面

    在使用git bash操作git时,$符总是另起一行,给人感觉特别不爽,特别想修改成linux下一样的风格. 在git输入命令: vim ~/.bash_profile 进入insert模式,添加内容 ...