前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spark对比Hadoop MapReduce 的优势

Spark对比Hadoop MapReduce 的优势

作者头像
Albert陈凯
发布2018-04-04 15:48:00
9490
发布2018-04-04 15:48:00
举报
文章被收录于专栏:Albert陈凯Albert陈凯

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

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

❑ 执行策略:MapReduce在数据Shuffle之前,需要花费大量时间来排序,而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搭建大数据内存计算平台,并利用内存计算特性,实时处理海量数据。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.06.30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档