对于大量数据的给定操作,有没有办法确定数据是否可以分解为mapreduce操作?

时间:2011-12-19 20:00:09

标签: java math mapreduce mathematical-optimization

我们对大量数据进行统计等。现在一切都在一台机器上完成。我们正在研究转向map-reduce范例的可行性,我们将数据分解为子集,对其进行一些操作,然后合并结果。

是否有任何类型的数学测试可以应用于一组操作,以确定它们所操作的数据是否可以被分解?

或者某个地方可能列出了哪些内容可以分解?还是不能分解?

例如,我认为没有办法分解标准偏差,但有......

编辑:添加标签

3 个答案:

答案 0 :(得分:1)

方差和均值可以在线计算(一次通过),见wikipedia。还有一个并行算法。

答案 1 :(得分:1)

并行计算最适合“令人尴尬的并行”的问题,即任何两个任务之间没有依赖关系。 请查看http://en.wikipedia.org/wiki/Embarrassingly_parallel

此外,如果操作是可交换的或关联的,MapReduce程序可以轻松优化以获得更好的性能。

答案 2 :(得分:1)

看看这篇论文:http://www.janinebennett.org/index_files/ParallelStatisticsAlgorithms.pdf。他们有许多常见统计问题的算法,并且有可用的开源代码。