hadoop之mapper类

Mapper类有四个方法:

(1)protected void setup(Context context)

(2)protected void map(KEYIN key,VALUEIN value,Context context)

(3)protected void cleanup(Context context)

(4)public void run(Context context)

setup()方法一般是在实例化时用户程序需要做的一些初始化工作(如打开一个全局文件,建立数据库链接等等)

cleanup()方法是收尾工作,如关闭文件或者执行map()后的键值对分发等。

map()方法承担主要的处理工作,一般我们些代码的时候主要用到的是map方法。

默认Mapper的run()方法的核心代码如下:

public void run(Context context) throws IOException,InterruptedException

{

     setup(context);

    while(context.nextKeyValue())

          map(context.getCurrentKey(),context,context.getCurrentValue(),context);

    cleanup(context);

}

setup和cleanup仅仅在初始化Mapper实例和Mapper任务结束时由系统作为回调函数分别各做一次,并不是每次调用map方法时都去执行。所以如果是要处理map中的某些数值数据时,想把代码写在cleanup里面需要特别注意。


Mapper输出结果到reduce阶段之前,还有几个可以自定义的步骤

(1)combiner  每个节点输出的键值可以先进行合并处理。

(2)合并处理之后如果还想将不同key值分配给不同reduce进行处理,称为shuffle洗牌过程,提供了一个partioner类来完成。

(3)如果想将key值自定义进行排序,这边提供了一个sort类,可以自定义进行排序










  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值