TechTarget云计算 > 百科词汇

MapReduce:MapReduce

MapReduce是一个软件框架,它允许开发者编写程序,用于在分布式集群处理器或独立的计算机上并行处理大量非结构化数据。它是在2004年由谷歌开发的,用于索引网页并取代其原有的索引算法和探索法。

  MapReduce框架分为两部分:

  • Map(映射),具有在分布式集群中将工作分配给不同的节点的功能。
  • Reduce(化简),整理工作,并将结果转化为一个单一值。

  MapReduce框架是容错的,因为集群中的每个节点可以定期报到完成的工作和状态更新。如果一个节点保持沉默的时间比预期的时间长,主节点就会注意并将工作重新分配给其他节点。

  根据软件工程师C. Chu-Carroll所述:

  “从理论上说,MapReduce工作的关键是将输入看作是一个记录清单。通过映射(Map)将这些记录在集群中的不同计算机之间进行分割。映射计算的结果是一个键值对列表。化简(Reduce)就将一组具有相同键的值整合成一个单一值。因此,映射需要一组数据块,然后产生键值对,化简合并这些值,这样你得到的不是一组键值对集,而是一个结果。并且你可能不知道这项工作被分成了多少块。”

  MapReduce很重要,是因为它可以让普通的开发商利用MapReduce库例程来创建并行程序,而无需担心内部集群交流、任务监测或失败处理的编程问题。这对数据挖掘、日志文件分析、财务分析和科学仿真等任务非常有用。MapReduce可以在不同的编程语言中实施,包括Java、C++、Python、Perl、Ruby和C语言.

最近更新时间:2009-08-21 作者:Mark C. Chu-Carroll翻译:曾芸芸EN

相关推荐