MapReduce和Spark之间的区别
Map Reduce是一个开放源代码框架,用于将数据写入HDFS并处理HDFS中存在的结构化和非结构化数据。Map Reduce仅限于批处理,而在其他Spark上,Spark可以执行任何类型的处理。SPARK是用于实时处理的独立处理引擎,可以安装在任何分布式文件系统(如Hadoop)上。SPARK的性能比磁盘上的Map Reduce快10倍,比内存中网络上的Map Reduce快100倍。

对比
迭代分析: Map-reduce不能像SPARK那样有效地解决需要迭代分析的问题,因为它每次迭代都必须进入磁盘。
交互式分析: Map-reduce通常用于运行临时查询,需要将其查询到磁盘上的内存,这同样不如SPARK高效,因为后者在内存中的引用速度更快。
不适合OLTP:由于它在面向批处理的框架上工作,因此不适合大量的短期交易。
不适合图形:在Apache的图形库在处理这增加了更多的复杂的Map Reduce图。
不适合琐碎的操作:对于过滤器和联接之类的操作,我们可能需要重写作业,由于键值模式,该作业变得更加复杂。

MapReduce和Spark之间的主要区别
以下是要点列表,描述了MapReduce和Spark之间的主要区别:

Spark适用于实时,因为它使用内存进行处理,而MapReduce仅限于批处理。
Spark具有RDD(弹性分布式数据集),可为我们提供高级操作员,但Map Map减少了我们需要对每个操作进行编码的难度。
Spark可以处理图形并支持机器学习工具。
以下是MapReduce与Spark生态系统之间的区别。
Hadoop与Spark

适用于MapReduce和Spark的示例如下:
Spark:信用卡欺诈检测
MapReduce:制作需要决策的常规报告。

比较基础 MapReduce Spark
构架 一个开放源代码框架,用于将数据写入HDFS并处理HDFS中存在的结构化和非结构化数据。 Spark:一个开源框架,可进行更快的通用数据处理
速度 Map-Reduce处理来自磁盘的数据(读取和写入),因此与Spark相比,渗透速度较慢。

与Map Reduce相比,Spark在磁盘上的速度至少快10倍,在内存上的速度至少快100倍。
困难 我们需要编码/处理每个过程。 Spark:借助RDD(弹性分布式数据集),可以轻松进行编程。
即时的 仅适用于批处理模式,Spark:不适用于OLTP事务 它可以处理实时处理。使用SPARK流。
潜伏 高级延迟计算框架 Spark:低级延迟计算框架。
容错能力 主守护程序检查从属守护程序的心跳,以防万一从属守护程序失败,则主守护程序会将所有未决和进行中的操作重新计划到另一个从属。 Spark:RDD为SPARK提供容错能力。它们引用外部存储(例如HDFS,HBase)中存在的数据集,并并行运行。
排程器 在Map Reduce中,我们使用外部调度程序(例如Oozie)。 Spark:当SPARK与内存计算一起工作时,它充当自己的调度程序。
成本 与SPARK相比,Map Reduce相对便宜。 Spark:由于它可以在内存中工作,因此需要大量RAM,因此价格相对较高。
开发平台 Map Reduce是使用Java开发的。 SPARK是使用Scala开发的。
语言支持 Map Reduce基本支持C,C ++,Ruby,Groovy,Perl,Python。 Spark支持Scala,Java,Python,R,SQL。
SQL支持 Map Reduce使用Hive查询语言运行查询。 Spark有自己的查询语言,称为Spark SQL。
可扩展性 在Map Reduce中,我们最多可以添加n个节点。最大的Hadoop群集具有14000个节点。 在Spark中,我们还可以添加n个节点。最大的Spark群集具有8000个节点。
机器学习 Map Reduce支持用于机器学习的Apache Mahout工具。 Spark支持用于机器学习的MLlib工具。
快取 Map reduce无法在内存中缓存数据,因此其速度不如Spark。 Spark缓存内存中的数据以进行进一步的迭代,因此与Map Reduce相比,它非常快。
安全 与Spark相比,Map Reduce支持更多的安全项目和功能 Spark安全性尚未像Map Reduce那样成熟

结论

根据MapReduce和Spark之间的上述区别,很明显,与Map Reduce相比,SPARK是一种更为先进的计算引擎。Spark与任何类型的文件格式兼容,并且比Map Reduce快得多。此外,spark还具有图形处理和机器学习功能。

一方面,Map Reduce仅限于批处理,另一方面,Spark可以执行任何类型的处理(批处理,交互式,迭代,流式处理,图形处理)。由于兼容性强,Spark是数据科学家的最爱,因此它取代了Map Reduce,并且发展迅速。但是我们仍然需要将数据存储在HDFS中,有时我们还需要HBase。因此,我们需要同时运行Spark和Hadoop以获得最佳性能。