今天使用 MapReduce 代替 Spark 有什么好处?

Any benefit of using MapReduce instead of Spark today?

我正在为 testing/PoC 目的设置一个 Hadoop 集群。今天有什么不能用 Spark 作为处理引擎来完成的吗?在我看来,Spark 已经取代了 MR,所有其他围绕 Hadoop 构建的 tools/abstractions 也与 Spark 兼容(Hive、Sqoop、Flume、HBase、Pig...)——是否有其他限制? 据我了解,即使对于批处理作业,Spark 至少与 MR 一样快,如果您想在未来扩展您的用例(流式处理),那么无论如何您都需要适应 Spark。

我问这个问题是因为直到今天,大多数介绍和教程都在教您有关 Hadoop 和 MapReduce 的知识。

很简单,不,现在没有理由使用 MapReduce。 Spark 更快、更易于使用、有更多的持续开发、更多的连接器、更多的用户、更多的优化...

教程中使用MapReduce是因为很多教程已经过时,而且还因为MapReduce演示了在所有分布式系统中处理数据的底层方法。在我看来,任何想要使用 "big data" 的人都应该(至少在概念上)了解 MapReduce。