大数据笔记-基于mapreduce的并行算法

7.1 mapreduce

 

mapreduce编程:

 

同步工具:

 

实现时需要注意的地方:

 

本地聚合的重要性:

 

字数统计

 

map进化1:引入数组H(仍然需要combiner)

 

 map进化2:把数组H变为全局变量,map结束后再将H输出

(in-mapper的实现)本地聚合的设计模式:

将combiner的功能集成到mapper中(速度更快,in-mapper是内存上的操作->需要内存管理)

 

计算平均数

combiner的设计:

example:

map version1:(此时reducer不能代替combiner)

 

version 2:(存在的问题:mapper的输出不是reducer的输入->影响了程序的正确性)

 

 version 3:正确版本

 

in-mapper版本:(此时不需要combiner,可以减少通信量)

 

单词共现矩阵的计算

方法1:词对法

存在的问题:

估计相对频率:

 

同步的实现:将同步变成一个排序问题

 

方法2:条纹法

存在的问题:

估计相对频率:

同步的实现:构造数据结构使部分结果聚集到一起

 

再现概括总结:同步工具

tradeoff:

 

转载于:https://www.cnblogs.com/cellphone7/p/10112328.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值