用Spark完全替换MR是否明智。以下是我们仍然使用MR的区域,需要您输入 Apache Spark 选项 -
答案 0 :(得分:2)
ETL - Spark所需的锅炉板代码比MR少得多。另外,您可以使用Scala,Java和Python进行编码(更不用说R,但可能不适用于ETL)。特别是Scala使ETL易于实现 - 编写的代码更少。
机器学习 - ML是Spark出现的原因之一。使用MapReduce,HDFS交互使许多ML程序非常慢(除非你有一些HDFS缓存,但我不太了解它)。 Spark可以在内存中运行,因此您可以让程序构建具有不同参数的ML模型,以针对内存中的数据集递归运行,因此没有文件系统交互(初始加载除外)。
流处理 - Spark Streaming以微批量工作,Storm over Spark Streaming的主要卖点之一是它是真正的流式而非微批量。由于您已经在使用批处理,因此Spark Streaming应该非常合适。
Hive Query - Spark项目上有一个Hive正在进行中。 Check the status here.它允许Hive通过Spark Cluster执行查询,并且可以与Tez上的Hive相媲美。