Spark主要用于大数据的计算,而Hadoop以后主要用于大数据的存储(比如HDFS、Hive、HBase等),以及资源调度(Yarn)。

Spark的特点:

速度快:Spark基于内存进行计算(当然也有部分计算基于磁盘,比如shuffle)。

容易上手开发:Spark的基于RDD的计算模型,比Hadoop的基于Map-Reduce的计算模型要更加易于理解,更加易于上手开发,实现各种复杂功能,比如二次排序、topn等复杂操作时,更加便捷。

超强的通用性:Spark提供了Spark RDD、Spark SQL、Spark Streaming、Spark MLlib、Spark GraphX等技术组件,可以一站式地完成大数据领域的离线批处理、交互式查询、流式计算、机器学习、图计算等常见的任务。

集成Hadoop:Spark并不是要成为一个大数据领域的“独裁者”,一个人霸占大数据领域所有的“地盘”,而是与Hadoop进行了高度的集成,两者可以完美的配合使用。Hadoop的HDFS、Hive、HBase负责存储,YARN负责资源调度;Spark复杂大数据计算。实际上,Hadoop+Spark的组合,是一种“double win”的组合。

极高的活跃度:Spark目前是Apache基金会的顶级项目,全世界有大量的优秀工程师是Spark的committer。并且世界上很多顶级的IT公司都在大规模地使用Spark。

Spark和Hadoop的区别和比较:

1.原理比较:

Hadoop和Spark都是并行计算,两者都是用MR模型进行计算

Hadoop一个作业称为一个Job,Job里面分为Map Task和Reduce Task阶段,每个Task都在自己的进程中运行,当Task结束时,进程也会随之结束;

Spark用户提交的任务称为application,一个application对应一个SparkContext,app中存在多个job,每触发一次action操作就会产生一个job。这些job可以并行或串行执行,每个job中有多个stage,stage是shuffle过程中DAGScheduler通过RDD之间的依赖关系划分job而来的,每个stage里面有多个task,组成taskset,由TaskScheduler分发到各个executor中执行;executor的生命周期是和app一样的,即使没有job运行也是存在的,所以task可以快速启动读取内存进行计算。

2.数据的存储和处理:

hadoop:

Hadoop实质上更多是一个分布式系统基础架构: 它将巨大的数据集分派到一个由普通计算机组成的集群中的多个节点进行存储,同时还会索引和跟踪这些数据,大幅度提升大数据处理和分析效率。Hadoop 可以独立完成数据的存储和处理工作,因为其除了提供HDFS分布式数据存储功能,还提供MapReduce数据处理功能。

spark:

Spark 是一个专门用来对那些分布式存储的大数据进行处理的工具,没有提供文件管理系统,自身不会进行数据的存储。它必须和其他的分布式文件系统进行集成才能运作。可以选择Hadoop的HDFS,也可以选择其他平台。

3.处理速度:

hadoop:

Hadoop是磁盘级计算,计算时需要在磁盘中读取数据;其采用的是MapReduce的逻辑,把数据进行切片计算用这种方式来处理大量的离线数据.

spark:

Spark,它会在内存中以接近“实时”的时间完成所有的数据分析。Spark的批处理速度比MapReduce快近10倍,内存中的数据分析速度则快近100倍。

4.恢复性:

hadoop:

Hadoop将每次处理后的数据写入磁盘中,对应对系统错误具有天生优势。

spark:

Spark的数据对象存储在弹性分布式数据集(RDD:)中。“这些数据对象既可放在内存,也可以放在磁盘,所以RDD也提供完整的灾难恢复功能。

5.处理数据:

hadoop:

Hadoop适合处理静态数据,对于迭代式流式数据的处理能力差;

spark:

Spark通过在内存中缓存处理的数据,提高了处理流式数据和迭代式数据的性能;

6.中间结果:

hadoop:

Hadoop中中间结果存放在HDFS中,每次MR都需要刷写-调用,

spark:

而Spark中间结果存放优先存放在内存中,内存不够再存放在磁盘中,不放入HDFS,避免了大量的IO和刷写读取操作;

Spark和Hadoop的区别和比较相关推荐

  1. NPL程序设计语言,CNN,RNN,LSTM ,spark和hadoop的区别,云计算,kubeflow

    目录 NPL程序设计语言 深度学习框架建模:CNN,RNN,LSTM spark和hadoop的区别 云计算

  2. spark和hadoop的区别

    直接比较Hadoop和Spark有难度,因为它们处理的许多任务都一样,但是在一些方面又并不相互重叠. 比如说,Spark没有文件管理功能,因而必须依赖Hadoop分布式文件系统(HDFS)或另外某种解 ...

  3. Spark初识-Spark与Hadoop的比较

    Spark,是分布式计算平台,是一个用scala语言编写的计算框架,基于内存的快速.通用.可扩展的大数据分析引擎 Hadoop,是分布式管理.存储.计算的生态系统:包括HDFS(存储).MapRedu ...

  4. Spark精华问答 | Spark和Hadoop的架构区别解读

    总的来说,Spark采用更先进的架构,使得灵活性.易用性.性能等方面都比Hadoop更有优势,有取代Hadoop的趋势,但其稳定性有待进一步提高.我总结,具体表现在如下几个方面. 1 Q:Spark和 ...

  5. hadoop组件---spark----全面了解spark以及与hadoop的区别

    Spark是什么 Spark (全称 Apache Spark™) 是一个专门处理大数据量分析任务的通用数据分析引擎. spark官网 Spark核心代码是用scala语言开发的,不过支持使用多种语言 ...

  6. Spark:Yarn-cluster和Yarn-client区别与联系

    我们都知道Spark支持在yarn上运行,但是Spark on yarn有分为两种模式yarn-cluster和yarn-client,它们究竟有什么区别与联系?阅读完本文,你将了解. Spark支持 ...

  7. Hive on Spark与SparkSql的区别

    Hive on Spark与SparkSql的区别 hive on spark大体与SparkSQL结构类似,只是SQL引擎不同,但是计算引擎都是spark! 核心代码 #初始化Spark SQL # ...

  8. spark1.0和2.0的区别_Spark2.0 VS Spark 1.* -------SparkSession的区别

    Spark .0以前版本: val sparkConf = new SparkConf().setAppName("soyo") val spark = new SparkCont ...

  9. storm是java还是python_Storm与Spark、Hadoop相比是否有优势

    本帖最后由 oracle_cj 于 2014-8-13 20:56 编辑 1. Storm是什么,怎么做,如何做的更好? 分布式实时计算系统.按照storm作者的说法,storm对于实时计算的意义类似 ...

最新文章

  1. 打造一个TB级微服务日志监控平台
  2. 大道至简第一章伪代码读后感
  3. app——分享wap站,数据处理页面展示
  4. react使用 PropTypes 和 getDefaultProps()
  5. Leetcode每日必刷题库第3题,如何实现无重复字符的最长子串?
  6. hmac hmac.new_使用HMAC(Play 2.0)保护REST服务
  7. php 怎么循环数组取有值的,php怎么循环数组取有值的-PHP问题
  8. 亚洲国家互联网渗透率_发展中亚洲国家如何回应covid 19
  9. Html.Action、html.ActionLink与Url.Action的区别
  10. 《塔木德智慧全书》(之四)
  11. 80 个例子,彻底掌握Python日期时间处理
  12. 小程序使用wxs 解决wxml保留2位小数问题
  13. 用户列表 java_三个jsp页面+Java片段实现的用户登录和用户列表查询[带分页]
  14. come back 继工作1年1一个月随想
  15. 四叶草Clover引导界面的快捷键大全
  16. 微博转载-是时候了,也该做个了结了。
  17. QT实现打地鼠小游戏
  18. 计算机模拟CS,CS跳跃模拟器电脑版_CS跳跃模拟器手游电脑版_游戏堡
  19. (适配方案总结)客户薅公司两台ipad,我还要给做适配?
  20. MTK android 可修改IMEI方法

热门文章

  1. 入侵防御之拒绝服务攻击
  2. 闲鱼买的显卡用什么软件测试,二手折腾记 篇三:我从闲鱼上买到了一张不存在的显卡,RX 5900XT 拆解评测...
  3. 未发现缺陷(NDF)定义及预防
  4. 华为手机的分类有何区别_华为手机分为几种类型
  5. 同余方程组有解定理及其证明
  6. 红帽子linux下修改mac包,REDHAT LINUX修改MAC地址
  7. 来自itouch的测试
  8. 注册备案表在哪里查,如何申请学历证书电子注册备案表?
  9. Python+Twisted+Autobahn实现Websocket(附完整demo)
  10. java实现游戏道具购买_基于jsp的虚拟游戏交易-JavaEE实现虚拟游戏交易 - java项目源码...