我知道Spark的内存功能对迭代作业非常有用。但是如果我的需求是传统的批量处理ETL呢。Spark在那里给我带来什么好处吗?请给出所有与此相关的建议,这将对我有很大帮助。
-
Spark在没有迭代工作并且是批处理过程的情况下如何帮助我?
-
有没有MapReduce比Spark表现更好的场景?在任何情况下,MR都会比Spark更好?
假设您知道Map Reduce,则考虑:
- 当你需要列出前N个单词时,用MR写单词计数。与Spark中的7或8行相比,MR中多个步骤的工作量要多得多
- 对于那些有维度处理la维度模型的人来说,在Spark中做起来容易得多
- Spark结构化流式处理用例
如果您无法获得足够的硬件或云计算资源,即写入磁盘和按功能步骤进行处理,那么使用MR执行某些数据量极高的任务可能会更好。