1

我想知道是否有任何不适合 MapReduce 的任务示例。有一些具体的例子会很棒。谢谢!

4

1 回答 1

3

其中一些可能是主观的,所以我会尽量坚持最一致的:

  • 流数据——MapReduce 本质上是批处理的。您在 MapReduce 中编写的东西时不时运行,但很难获得它,因此它处理实时数据流。有一些项目正在计划解决这个问题,比如 Storm。
  • 实时分析——同样,MapReduce 是批处理的,专为聚合和大规模性能而定制,不能快速得到答案。每个作业都会有 1-2 分钟的开销,因此使用 MapReduce 将响应时间控制在不到一分钟是非常具有挑战性的。这与作为软件的 Hadoop 而非作为范式的 MapReduce 有很大关系。
  • 记录获取——就像您无法在短时间内运行分析一样,使用 MapReduce 获取单个记录或小块数据也不是一件容易的事。MapReduce 擅长全表扫描,而不是挑选一两条记录。这是 HBase 填补的利基市场。
  • 大规模重组——不知道用什么词来形容它是个好词,但是任何需要在网络上洗牌的大量数据都可能对您的网络基础设施构成挑战。这是因为这些问题没有充分利用数据局部性。这方面的一些示例是全顺序排序和跨大型数据集的连接。
于 2012-08-04T00:45:18.220 回答