32

是否有可用的理论分析来描述 mapreduce 可以解决什么样的问题?

4

8 回答 8

9

Map-Reduce for Machine Learning on Multicore Chu等人中描述了“适合统计查询模型的算法可以以某种“求和形式”编写,这使得它们可以在多核计算机上轻松并行化。他们使用 map-reduce 框架专门实现了 10 种算法,包括加权线性回归、k-Means、朴素贝叶斯和 SVM。

Apache Mahout项目发布了基于本文思想的一些方法的最新 Hadoop (Java) 实现。

于 2009-05-18T04:04:25.400 回答
5

对于需要处理和生成大型数据集的问题。假设对银行持有的所有账户运行利息生成查询。假设为银行过去一年发生的所有交易处理审计数据。最好的用例来自谷歌——为谷歌搜索引擎生成搜索索引。

于 2009-04-01T12:46:25.903 回答
5

许多“令人尴尬的并行”(好词!)的问题都可以使用 MapReduce。http://en.wikipedia.org/wiki/Embarrassingly_parallel

从这篇文章...... http://www.businessweek.com/magazine/content/07_52/b4064048925836.htm ...

Hadoop(MapReduce 的开源实现)的创始人 Doug Cutting 说……“Facebook 使用 Hadoop 分析用户行为和网站上广告的有效性”

和......“纽约时报的技术团队在亚马逊的云上租用计算能力,并使用 Hadoop 将 1100 万篇存档文章(可追溯到 1851 年)转换为数字和可搜索文档。他们在一天之内完成了一项原本需要数月才能完成的工作。”</p>

于 2009-04-01T13:30:29.900 回答
3

任何涉及对大量数据进行操作的事情,其中​​问题可以分解为较小的独立子问题,然后可以将其结果汇总以产生更大问题的答案。

一个简单的例子是计算大量数字的总和。您将集合拆分为较小的集合,并行计算这些较小集合的总和(这可能涉及将这些集合拆分为更小的集合),然后将这些结果相加以得出最终答案。

于 2009-04-01T13:02:38.907 回答
3

答案实际上在于算法的名称。MapReduce 不是一些答案所暗示的通用并行编程工作或批处理执行框架。当需要处理大型数据集(映射阶段)并从中派生某些属性,然后需要对这些派生属性进行总结(缩减阶段) 时, Map Reduce 非常有用。

于 2011-04-12T12:37:39.943 回答
2

你也可以在Google 上观看视频,我自己也在看,我觉得它们很有教育意义。

于 2009-08-14T19:21:04.207 回答
1

MapReduce 的 hello world 介绍

http://blog.diskodev.com/parallel-processing-using-the-map-reduce-prog

于 2011-08-23T06:52:11.653 回答
1

这个问题是在它的时间之前提出的。自 2009 年以来,实际上已经对 MapReduce 计算进行了理论分析。Howard Karloff 等人在 2010 年发表的这篇论文。以与理论家研究 P 和 NP 相同的方式将 MapReduce 形式化为复杂性类。他们证明了 MapReduce 和一个称为 NC 的类之间的一些关系(可以将其视为共享内存并行机器或某类受限电路)。但主要工作是它们的正式定义。

于 2014-05-14T01:04:11.470 回答