Google MapReduce论文阅读心得

    Google 三大论文之一的MepReduce,主要介绍了MapReduce这样一个面向大数据并进行处理的计算模型、框架和平台。MapReduce是利用计算机集群来对用户所产生的数据进行计算、分类和储存的一种方法。他最早是由Google公司提出的,其初衷在于解决其搜索引擎中大规模网页数据的并行化处理。MapReduce的用途由最早的应用于搜索引擎中的Web文档索引处理系统,发展到后来Google公司内有上万个各种不同的算法问题和程序都使用MapReduce进行处理。其实用性相比于以往的单个处理器解决所有问题的方式是毋庸置疑的。
    MapReduce程序框架串联下的计算机集群相较于以往的服务器最显著的优点莫过于成本低了。MapReduce程序框架是联合单个电脑的运算力,来提高服务器对数据的处理速度的,其对于集群中单个电脑的性能要求并不高,并且其可以通过增加电脑的数量来提高运算能力,这比起花费大量资金去开发更高性能的单个处理器成本无疑是低廉的多。
    其次是它对数据的处理过程中容错率更高,其集群中的计算机由一特殊程序分为一个master和其它的worker。用户所输入的数据由MapReduce中的函数进行数据片段的分割,并区分为Map和Reduce任务并由master进行调配讲一个Map和Reduce调配给一个worker进行运算,当一位worker在长时间内未与master取得联系,master便会自动判定该worker损坏,并将调配给它的任务重新调配给其它worker,从而不会因为一台机器的故障而造成用户任务数据的丢失或损坏,而影响整个进程的进行。
    同时它还会通过备用(backup)任务进程来提高运算任务重的部分的运算力嗯分配,从而减少运算过程中“落伍者”的出现。由于在进行超大MapReduce操作时的总处理时间会受到落伍者的影响,因此这种操作可减少在进行超大MapReduce操作时的总处理时间。
    一些用户数据之中存在一些bug会使的worker在处理Map和Reduce任务时会直接crash掉。而为了应对这种情况的发生每个worker进程都设置了信号处理函数捕获内存段异常(segmentation violation)和总线错误(bus error)。在执行 Map 或者 Reduce 操作之前,MapReduce 库通过全局变量保存记录序号。如果用户程序触发了一个系统信号,那么这个相应的Reduce就将被直接跳过不再进行处理。
    最后对于数据的存储,其绝对称得上是最不容易丢失的了。它对数据进行复制然后通过数据中所包含的位置信息,进行分类储存,一份数据在多台计算机中都存在备份,一台机器的损毁并不会导致某个数据的丢失。并且由于其计算机集群也是分地域多部分存放,这也杜绝了一整个计算机集群同时损毁的情况的发生,从而大大提高了数据保存的可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皎月蓝酒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值