MapReduce中源码分析(map端的过程)

  MapReduce阶段,map中key面向文章的偏移量=上一行面向文章的偏移量+本行相对于上一行的偏移量+本单词相对于本行的偏移量。 这个key为本单词相对于文章的偏移量 这个是MapReduce中map的输出,调用context的write方法,前边对应的是key,后边对应的是value的值。 在方法被调用的时候,方法中参数的传递有两种:值传递和应用传递 应用传递,传递的是地址 以上这种是值传递,外部的值不会跟着内部的值的变化而变化的 int a=3; { a=5 } a=3 //方法的实现体中对a进行重新赋值 //外部的a=3不会随着内部a=5的变化而变化的 int a=3; { *a=5 } a=5 //内部的a传递的是外部的a的应用地址 Integer a=new Integer a { a=5 } a=5 //这种传递是应用传递,传递的是堆内存中对象的应用地址 这种就是应用传递了。 放在这个地方是为了避免频繁地GC 输入数据集由map映射成中间数据集,也就是映射成了(K,V)键值对的形式 中间数据集最终交给reduce去完成 reduce端从map端拉取数据,reduce的输入来自map的输出 map端完成的是计算向数据移动的过程,map的输出会存在map的主机,供reduce从map端拉取数据的,也就是抽象的名词叫做shuffle,也就是reduce端数据向计算移动的过程,而map端完成的是计算向数据移动的过程。 reduce端完成的是数据向计算移动的过程

  

MapReduce中源码分析(map端的过程)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值