hadoop概念(1)-了解MapReduce

MapReduce是一种编程范式,常用于大数据处理。它由Google提出,包括Map和Reduce两个步骤。Map用于切分和处理数据,Reduce则进行数据整合。作者通过与妻子的对话,形象地解释了MapReduce的概念,比如制作混合辣椒酱的过程,其中Map对应切碎蔬菜,Reduce对应混合蔬菜得到最终酱料。MapReduce适用于大规模数据处理,但不适用于实时响应或图结构数据的应用。
摘要由CSDN通过智能技术生成

MapReduce是什么?

MapReduce是一种编程范式,可以利用集群环境的成千上万台服务器实现强大的可伸缩性。

MapReduce一次最早源于函数式编程,由Google在一篇名为“MapReduce:Simplified Data Processing on Large Clusters”的文章中率先提出。

使用MapReduce范式时,重点是编写两个函数:

map()

过滤和聚集数据。

reduce()

根据map()生成的键完成归约、分组和总结。

MapReduce执行过程的简单视图
这两个函数定义如下

map: (k1; v1) →[(k2; v2)]

输入:键值对(k1; v1)表示的数据

处理:文档数据记录(如文本文件中的行,或数据表格中的行)将以“键值对”形式传入map函数;map函数将处理这些键值对,并以另一种键值对形式输出一组键值对作为中间结果:[(k2; v2)]

输出:键值对[(k2; v2)]表示的一组中间数据

主节点根据唯一的键将中间结果进行洗牌和聚集,然后再一次重新分布到工作节点。

reduce: (k2; [v2])→[(k3; v3)]

输入: 洗牌后的一个键和值列表(k2; [v2])

处理:对传入的中间结果列表数据进行某种整理或进一步的处理,并产生最终的某种形式的结果输出[(k3; v3)]

输出:最终输出结果[(k3; v3)]

各个map函数对所划分的数据并行处理,从不同的输入数据产生不同的中间结果输出

各个reduce也各自并行计算,各自负责处理不同的中间结果数据集合。进行reduce处理之前,必须等到所有的map函数做完,因此,在进入reduce前需要有一个同步障(barrier);这个阶段也负责对map的中间结果数据进行收集整理(aggregation & shuffle)处理,以便reduce更有效地计算最终结果—最终汇总所有reduce的输出结果即可获得最终结果.

MapReduce的简单解释

回家后,我的妻子(Supriya)问道:“你的会开得怎么样?”我说还不错。 接着她又问我会议是的内容是什么(她不是从事软件或编程领域的工作的)。我告诉她说MapReduce。“Mapduce,那是什么玩意儿?”她问道: “跟地形图有关

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值