[Hadoop]-MapReduce-使用篇

Posted NightPxy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Hadoop]-MapReduce-使用篇相关的知识,希望对你有一定的参考价值。

1.Mapper

  1.1  泛型参数

    Mapper有四个泛型参数,Mapper<KEYIN, VALUEIN, KEYOUT, VALUEOUT>:

      KEYIN:默认读取的一行文本的起始偏移量.Long类型,在Hadoop中包装成LongWriteable

      VALUEIN:默认读取的一行文本的字符串信息.String类型,在Hadoop中包装为Text.

      KEYOUT:用户map函数后,输出的Key的类型.

      VALUEOUT:用户map函数后,输出的Value的类型

   (为了适应Hadoop内部的数据传输,存储,排序等,Hadoop对一些基本数据类型都做了封装,String=>Text,Int=>IntWriteable等.实际就是包装实现Comparable和Writable接口)

   1.2 map函数

    void map(KEYIN key, VALUEIN value, Context context) throws IOException, InterruptedException

    Context  map执行的上下文对象,实现TaskInputOutputContext接口.包含map执行过程中的所有信息,比如spilte读取,path,map结果等等

2.Reducer

  2.1 泛型参数

    Reducer也有四个泛型参数,Reducer<KEYIN,VALUEIN,KEYOUT,VALUEOUT>

      KEYIN:Mapper输出的Key的类型

      VALUEIN:Mapper输出的Value的类型

      KEYOUT:Reducer输出的Key的类型

      VALUEOUT:Reducer输出的Value的类型

  2.2 reduce函数

    void reduce(KEYIN key, Iterable<VALUEIN> values, Context context) throws IOException, InterruptedException

3.Job

  Job启动类,包含Job的初始化,Map类和Reduce类的指定等等

 

  

 

以上是关于[Hadoop]-MapReduce-使用篇的主要内容,如果未能解决你的问题,请参考以下文章

hadoop之魂--mapreduce计算框架,让收集的数据产生价值 (第4篇)

Hadoop 执行引擎之 MapReduce

Hadoop- Wordcount程序原理及代码实现

Hadoop源码篇---解读Mapprer源码outPut输出

Hadoop源码篇--Client源码

hadoop之mapreduce详解(优化篇)