Spark和MapReduce的区别

性能:

Spark在内存中处理数据,而MapReduce是通过map和reduce操作在磁盘中处理数据。所以从这方面讲Spark的性能是超过MapReduce的。但是当数据量比较大,无法全部读入内存时,MapReduce就比较有优势。当涉及需要重复读取同样的数据进行迭代式计算的时候,Spark比较有优势;但是当涉及到单次读取,类似ETL操作任务时,适合用MapReduce进行处理。

容错:

当执行中途失败时,MapReduce会从失败处继续执行,因为它是依赖于硬盘驱动器的。但是Spark就必须从头开始执行,这样MapReduce相对节省了时间。

应用场景:

MapReduce主要是进行离线计算处理,计算一些已存在的数据,比如对已存在的订单或者日志进行分析。而Spark可以应用在一些实时查询和迭代分析的场景,比如像推荐系统。

猜你喜欢

转载自my.oschina.net/134596/blog/1801744
今日推荐