MapReduce不足够的任务是什么?

问题描述:

我想知道是否有任何不适合MapReduce的任务示例。一些具体的例子将是非常好的。谢谢!MapReduce不足够的任务是什么?

其中的一些可能是主观的,所以我会尽力坚持与多数人一致认为的:

  • 流数据 - MapReduce的本质是批量。你有一些你在MapReduce中编写的东西,但它很难得到它,因此它会处理实时传输的数据流。有一些项目正在计划解决这个问题,比如Storm。
  • 实时分析 - 同样,MapReduce是批处理,针对聚合和大规模性能而设计,无法快速回复答案。每个工作都需要1-2分钟的开销,因此MapReduce的响应时间不到一分钟就非常具有挑战性。这与Hadoop作为一个软件有很大关系,而不是作为范例的MapReduce。
  • 记录抓取 - 就像您无法在短时间内运行分析一样,获取单个记录或小块数据对于MapReduce来说并不容易。 MapReduce擅长全表扫描,而不是选出一两个记录。这是HBase填充的利基。
  • 大规模重组 - 不知道这是一个好的术语,但任何需要大量数据在网络上混洗的任何东西都可能对您的网络基础设施构成挑战。这是因为这些问题没有充分利用数据局部性。这方面的一些例子是全部的顺序排序和跨大型数据集的连接。