百科创建
14.4K
3293

映射-化简编程模型

美国谷歌(Google)公司在2004年提出的映射-化简(MapReduce)编程模型,是最具代表性的批处理模式。其主要思想是从函数式编程语言里借鉴的,还有从矢量编程语言里借鉴的特性。它极大地方便了编程人员在不懂分布式并行编程的情况下,将自己的程序运行在分布式系统上。软件实现是指定一个Map函数,把一组键值对映射成一组新的键值对,指定并发的Reduce函数,用来保证所有映射的键值对中的每一个共享相同的键组。

一个完整的MapReduce过程是:MapReduce模型首先将用户的原始数据源进行分块,然后分别交给不同的Map任务区处理。Map任务从输入中解析出键值对集合,然后对这些集合执行用户自行定义的Map函数得到中间结果,并将该结果写入本地硬盘。Reduce任务从硬盘上读取数据之后,会根据键值进行排序,将具有相同键值的数据组织在一起。最后用户自定义的Reduce函数会作用于这些排好序的结果并输出最终结果。

MapReduce的核心设计思想是:①将问题分而治之;②用计算推到数据而不是用数据推到计算,有效避免数据传输过程中产生的大量通信开销。MapReduce模型简单,且现实中很多问题都可用MapReduce模型来表示。因此该模型公开后,立刻受到极大关注,并在生物信息学、文本挖掘等领域得到广泛应用。

3293

免责声明:本站词条系由网友创建、编辑和维护,内容仅供参考。

以上内容均为商业内容展示,仅供参考,不具备专业问题解决服务,

如果您需要解决具体问题(尤其在法律、医学等领域),建议您咨询相关领域的专业人士。

如您发现词条内容涉嫌侵权,请通过 948026894@qq.com 与我们联系进行删除处理!

上一篇:Spark计算引擎
下一篇:链接攻击
一秒推