1. 分析气候数据,计算出每年全球最高气温(P25页)
  2. Map阶段:输入碎片数据,输出一系列“单键单值”键值对
  3. 内部处理,将一系列“单键单值”键值对转化成一系列“单键多值”键值对
  4. Reduce阶段,输入“单键多值”键值对,输出具体结果
  5. Mapper类是一个泛型类型,它有四个形参类型,分别制定map函数的输入键、输入值、输出键、输出值的类型。
  6. Hadoop本身提供了一套可优化网络序列化传输的基本类型,而不直接使用java内嵌的类型。这些类型都在org.apache.hadoop.io包中
  7. Reduce函数也有四个形式参数,用于指定输入和输出类型
  8. reduce函数的输入类型,必须匹配map函数的输出类型
  9. 在Hadoop上运行作业时,要把代码打包成JAR文件。Job不在乎JAR的名称,在乎JAR中主函数所在类的名称
  10. 构造job对象后,需要指定输入和输出数据的路径,调用FileInputFormat类的静态方法addInputPath()来定义输入数据的路径。这个路径可以是单个文件、一个目录、或复合特定模式的一些列文件。该函数可调用多次,实现多路径输入
  11. 调用FileOutputFormat类中的静态方法setOutputPath()来制定输出路径(只能有一个输出路径),且该路径是不应该存在的。
  12. 通过setOutputKeyClass()、setOutputValueClass()方法控制reduce函数的输出类型,必须和reduce类产出的向匹配
  13. map函数的输出类型默认情况下和reduce函数是相同的,不需要单独设置;如果不同,调用setMapOutputKeyClass、setMapOutputValueClss来设置map函数的输出类型
  14. FileInputFormat函数负责完成数据分块,并传递给map
  15. hadoop 的map key是如何来划分:
    1. 一般的hadoop任务,有三段传输要搞清楚,首先是hadoop整理给map的输入map(key1,value1),这段默认是各个文件的每一行作为输入,此时key1是此行在文件中的偏移量,value1则是行号;其次是map输出(key2,value2)这段是给reduce做为输入的,也就是reduce(key2,inter<value2>)的输入;第三部分是reduce输出(key3,value3)。
      map的key一般不是考虑的因素,考虑更多是value的值,比如每个文件做输入,文件内容才是最重要;每行做输入,行内容才是重要。
  16. 运行job(Hadoop会启动一个JVM来运行这个类,所以可以通过FileInputFormat静态方法设置输出路径)

    export HADOOP_CLASSPATH=hadoop-examples.jar

    hadoop MaxTemperature(类名) input/ncdc/sample.txt(参数一,输入文件路径,本地文件系统)  output(参数二,输出文件路径,本地文件系统)

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

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

    术语: job(作业):客户端需要执行的一个工作单元,包括输入数据.MP程序.配置信息 Hadoop将job分成若干task(任务)来执行,其中包括两类任务: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. unity_实用小技巧(空指针错误)

    在游戏开发中,空指针错误是我们最常见也是最容易出现的错误.下面介绍一下博主近期遇见的空指针错误 如上图,有两个类,如果此时我们在图2中调用图1的单例模式可能会出现空指针错误. 原因在于:编译器可能先执 ...

  2. Codeforces 220C

    题意略. 思路: 我们可以把 bi[ i ] 在 ai[ ] 中的位置记录下来,然后算出 i - mp[ bi[i] ] ,再将它压入一个multiset.每次我们就二分地来寻找离0最近的数字来作为答 ...

  3. [Python] 数据结构--实现顺序表、链表、栈和队列

    说明: 本文主要展示Python实现的几种常用数据结构:顺序表.链表.栈和队列. 附有实现代码. 来源主要参考网络文章. 一.顺序表 1.顺序表的结构 一个顺序表的完整信息包括两部分,一部分是表中元素 ...

  4. Oracle - Sequences

    创建计数器 --最小值1,最大值999999999999999999999999999,从1开始,每次自增1,缓存20 --SQL语句: -- Create sequence create seque ...

  5. Java NIO之理解I/O模型

    前言 自己以前在Java NIO这块儿,一直都是比较薄弱的,以前还因为这点知识而错失了一个机会.所以最近打算好好学习一下这部分内容,我想应该也会有朋友像我一样,一直想闹明白这块儿内容.但是一直无从下手 ...

  6. 图解Nginx限流配置

    本文以示例的形式,由浅入深讲解Nginx限流相关配置,是对简略的官方文档的积极补充. Nginx限流使用的是leaky bucket算法,如对算法感兴趣,可移步维基百科先行阅读.不过不了解此算法,不影 ...

  7. hdu6312 2018杭电多校第二场 1004 D Game 博弈

    Game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  8. codeforces 496 E. Distributing Parts(贪心+set二分)

    题目链接:http://codeforces.com/contest/496/problem/E 题意:有n场演出,每场演出都有限制的高音和低音.然后m个人给出每个人的极限高音和低音还有出场次数. 最 ...

  9. POJ 2230 Watchcow 欧拉图

    Watchcow Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 8800   Accepted: 3832   Specia ...

  10. webapi 参数传递详解

    原因 经常有朋友遇到webapi参数传递问题,自己也碰到过一些坑,在此记录下正确的姿势,简单参数传递相信没有人会有问题,容易出现问题的是对象参数和表单参数. 1.WebApi5.2.3有FromBod ...