是否有可用的理论分析来描述mapreduce可以解决哪些问题?
答案 0 :(得分:9)
在Map-Reduce for Machine Learning on Multicore Chu 等中描述“适合统计查询模型的算法可以用某种”求和形式编写“,这使得它们可以在多核计算机上轻松并行化。 “它们具体实现了10种算法,包加权线性回归,k-Means,Naive Bayes和SVM,使用map-reduce框架。
Apache Mahout项目基于本文的想法发布了一些最近的Hadoop(Java)实现方法。
答案 1 :(得分:5)
对于需要处理和生成大型数据集的问题。假设对银行持有的所有账户运行利息生成查询。假设处理过去一年在银行中发生的所有交易的审计数据。最好的用例来自谷歌 - 为谷歌搜索引擎生成搜索索引。
答案 2 :(得分: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将可追溯到1851年的1100万份存档文章转换成数字和可搜索的文档。他们在一天之内就转过身去做一个本来需要几个月的工作。“
答案 3 :(得分:3)
涉及对大量数据进行操作的任何事情,其中问题可以分解为较小的独立子问题,然后可以聚合结果以产生对较大问题的答案。
一个简单的例子就是计算一大组数字的总和。您将集合拆分为较小的集合,并行计算这些较小集合的总和(这可能涉及将这些集合拆分为更小的集合),然后对这些结果求和以达到最终答案。
答案 4 :(得分:3)
答案恰恰在于算法的名称。 MapReduce不是一般的并行编程工作或批处理执行框架,正如一些答案所示。当需要处理的大型数据集(映射阶段)并从那里派生某些属性时,Map Reduce非常有用,然后需要对这些派生属性进行汇总(还原阶段)。
答案 5 :(得分:2)
您还可以观看videos @ Google,我自己正在观看,我发现它们很有教育意义。
答案 6 :(得分:1)
对MapReduce的hello world简介的排序
http://blog.diskodev.com/parallel-processing-using-the-map-reduce-prog
答案 7 :(得分:1)
这个问题在它的时间之前被问到了。自2009年以来,实际上已经对MapReduce计算进行了理论分析。 2010年的Howard Karloff et al.论文将MapReduce正式化为复杂性类,与理论家研究P和NP的方式相同。他们证明了MapReduce和一个名为NC的类之间的某种关系(可以将其视为共享内存并行机或某类限制电路)。但主要工作是他们的正式定义。