如果我正在进行批处理,Spark相对于Mapreduce到底有什么好处?



我知道Spark的内存功能对迭代作业非常有用。但是如果我的需求是传统的批量处理ETL呢。Spark在那里给我带来什么好处吗?请给出所有与此相关的建议,这将对我有很大帮助。

  1. Spark在没有迭代工作并且是批处理过程的情况下如何帮助我?

  2. 有没有MapReduce比Spark表现更好的场景?在任何情况下,MR都会比Spark更好?

假设您知道Map Reduce,则考虑:

  • 当你需要列出前N个单词时,用MR写单词计数。与Spark中的7或8行相比,MR中多个步骤的工作量要多得多
  • 对于那些有维度处理la维度模型的人来说,在Spark中做起来容易得多
  • Spark结构化流式处理用例

如果您无法获得足够的硬件或云计算资源,即写入磁盘和按功能步骤进行处理,那么使用MR执行某些数据量极高的任务可能会更好。

最新更新