对MapReduce的简单理解以及归纳总结

看了google的MapReduce论文,为了以后便于自己查阅,特写一下总结:

就像摘要里面说的,主要讲了以下几点:

1、输入数据切分

2、真个集群的分配调度,包括如何把切分好的数据分发给Map机器,以及如何把Map好的数据给Reduce机器。

3、集群容错,包括worker failure以及master failure。 worker failure 解决办法是:分配一个没有失效的机器重做这个失效机器上的任务。master failure解决办法是:论文写得是如果master失效,那么,所有的工作都泡汤了。只有让user client端重试了。。。(现在大部分分布式系统都是设置备份master)

4、优化

    4.1 数据分发的局部性:也就是说在Map阶段,数据保存到本地临时文件上,当Reduce阶段的时候,直接在本台机器,或者是在同一个局域网相邻的机器,节省网络带宽

    4.2 设置备份任务,当出现“straggler”时候,就会启动备份机器,让其也执行这个“straggler”的任务,最后整个集群的完成时间以这两个机器最先完成的为准。

    4.3有的任务要求排序功能,所以在Map阶段,或是在Reduce阶段的时候,可以扩展排序功能。

    4.4Map阶段完成后对于某个key,也许会有很多的key-value对。例如:wordcount时候,像这种<the,1>会很多(zipf分布)。所以能够在Map完成后,Reduce执行前,先执行一个Combiner也许会更好一些。Combiner和Reduce的唯一不同就是:Reduce会把输出写到最终的output file中,而Combiner则是输出到一个intermediate file中,为Reduce做准备。

    4.5Skipping bad Records 。即在Map阶段遇到一些错误的record可以忽略不计(在数据量非常大的情况完全可以)。

 

 

先写这么多吧,困了。。

                  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值