Hadoop MapReduce与Spark对比,真是太通俗易懂了

与Hadoop MapReduce相比Spark的优势如下:

中间结果:基于MapReduce的计算引擎通常将中间结果输出到磁盘上,以达到存储和容错的目的。由于任务管道承接的缘故,一切查询操作都会产生很多串联的Stage,这些Stage输出的中间结果存储于HDFS。而Spark将执行操作抽象为通用的有向无环图(DAG),可以将多个Stage的任务串联或者并行执行,而无须将Stage中间结果输出到HDFS中。

执行策略: MapReduce 在数据Shufle之前,需要花费大量时间来排序,而Spark不需要对所有情景都进行排序。由于采用了DAG的执行计划,每一 次输出的中间结果都可以缓存在内存中。

任务调度的开销:MapReduce系统是为了处理长达数小时的批量作业而设计的,在某些极端情况下,提交任务的延迟非常高。而Spark采用了事件驱动的类库AKKA来启动任务,通过线程池复用线程来避免线程启动及切换产生的开销。

更好的容错性: RDD之间维护了血缘关系( lineage),一旦某个RDD失败了,就能通过父RDD自动重建,保证了容错性。

高速:基于内存的Spark计算速度大约是基于磁盘的Hadoop MapReduce的100倍。

易用:相同的应用程序代码量一般比Hadoop MapReduce少50% ~ 80%。

提供了丰富的API:与此同时,Spark 支持多语言编程,如Scala、Python 及Java,便于开发者在自己熟悉的环境下工作。Spark 自带了80多个算子,同时允许在Spark Shell环境下进行交互式计算,开发者可以像书写单机程序一样开发分布式程序,轻松利用Spark搭建大数据内存计算平台,井利用内存计算特性,实时处理海量数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值