0

我知道 MapReduce 非常适合解决庞大数据集上的并行问题。但是,是否有任何问题的示例虽然在某种意义上是可并行化的,但并不适合 MapReduce?

4

2 回答 2

1

几点观察:

  • 我们不应该混淆 Hadoop 和 Hadoop 复制的 MapReduce 的早期 Google 实现(即仅限于键/值映射)与 MapReduce 所基于的一般拆分和聚合概念

  • MapReduce 的想法(拆分和聚合、划分和同意只是它的几个其他名称)是关于通过拆分成可以独立并行处理的更小的子任务来实现处理的并行化——因此可以应用于广泛的问题(数据密集型、计算密集型或其他)

  • 一般来说,MapReduce 与大数据集或数据完全无关。它成功地用于小型数据集或计算 MapReduce,用于纯处理并行化

  • 要回答您的问题,MapReduce 通常在原始任务无法拆分为可以并行独立处理的子任务集的情况下不起作用。在现实生活中——很少有用例属于这一类,因为大多数非显而易见的问题都可以近似为 MapReduce 类型的处理。

于 2012-09-01T21:35:52.267 回答
0

是和不是。这实际上取决于它们的结构和编写方式。在给定的数据步骤/ map-reduce 函数中,map reduce 的并行化肯定会很差。对称矩阵的联立方程求解器就是一个例子。如果写在一个函数中(在许多情况下它们可能加载到单个节点上),它们的并行性并不好,原因很明显是同时性。一个常见的解决方法是将前矩阵计算隔离在一个单独的处理器中,因为它们很容易并行化。通过打破这一点,map-reduce 优化器能够获得比其他方式更多的节点和处理能力。

于 2012-09-01T07:07:36.677 回答