读Google MapReduce后有感

本文基于Google的MapReduce论文,介绍了MapReduce的编程模型和实现细节,包括其用于解决大数据处理的背景、Map和Reduce操作的原理、容错机制、性能优化以及在大数据领域的应用。通过对MapReduce的学习,作者体会到并行计算和抽象思维在解决复杂问题中的重要性,并展望了未来计算领域的发展趋势。
摘要由CSDN通过智能技术生成

本来读Google MapReduce是老师布置的任务,但是第一我是那种要么就不做事要么就要把事做好的人,第二我本来就有意向向大数据方向发展所以好好的看了一下论文,发现我现在的水平还是不行,感觉论文读起来晦涩难懂很多地方不清楚。而我也查了许多资料来去了解MapReduce,发现其实MapReduce的底层原理其实并不是很复杂,接下来我就谈一谈论文里的要点和我的一些看法和感想。

论文要点

介绍

第一段介绍说了为什么要开发这个编程模型,在作者开发模型前Google的程序员每天要处理海量的数据,如文章的抓取,web请求日志,还有计算处理各种类型的衍生数据,如倒排索引,web文档的图结构的各种表示形势、每台主机上网络爬虫抓取的页面数量的汇总、每天被请求的最多的查询的集合等等。而这些数据处理其实并不困难在概念上,但是由于数据量太过于庞大而导致这样的简单问题的数据处理也变得很困难,并且只能将数据分布在成百上千的主机上完成.

而为了解决上述的问题,作者计划设计一个新的抽象模型,使用这个抽象模型可以抽象出并行计算、容错、数据分布、负载均衡等复杂问题,而使使用者只需要关心想要执行的简单运算(计算机领域的抽象思维起了大作用)。

编程模型

MapReduce对于使用者就像一个数据通道,数据从这边进去在比较短的时间内(如果你的计算机数量足够多的话)在另一端会出来已经处理过的数据了。而实现原理我就不细讲了(细讲我也讲不清楚)大体是用户把数据传入然后MapReduce库先把文件划分为很多份然后再产生一个key/value pair的集合,随后将集合传递给reduce函数而用户自定义的reduce函数数调用只产生 0 或 1 个输出 value 值。通常我们通过一个迭代器把中间 value 值提供给 Reduce 函数,这样我们就可以处理无法全部放入内存中的大量的 value 值的集合。

以下为转载的v_JULY_v的文章MapReduce技术的初步了解与学习

举例说明


  相信几乎没有人喜欢看一堆只写概念的文章。本文将通过实例来充分解释清楚MapReduce这个模型。


  先从最最简单的例子说起吧。假设我们有一组数据

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值