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. 用Cocos Studio 2.3.2制作UI界面中控件不再支持运行3d动作特效
  2. UVa12532 - Interval Product(线段树)
  3. Python之禅 by Tim Peters
  4. VTK:图片之ImageSeparableConvolution
  5. 服务器开发中网络数据分析与故障排查经验漫谈
  6. 代码 or 指令,浅析ARM架构下的函数的调用过程
  7. 手把手教你做关键词匹配项目(搜索引擎)---- 第十一天
  8. IDEA的Mybatis插件
  9. 离散数据编码方式总结(OneHotEncoder、LabelEncoder、OrdinalEncoder、get_dummies、DictVectorizer、to_categorical的区别?)
  10. 利用科来数据包播放器实现网络数据回放
  11. 单元测试,我有话说(No tests to run. No tests were executed)
  12. k8s通过Service访问Pod
  13. 2017283418魏扬
  14. 哈工大计算机网络MOOC作业题解答
  15. 数据库优化——慢查询MySQL定位优化流程
  16. mac打不开txt文件,出现“文本编码“中文 (GB 18030)”不适用。”的解决办法
  17. 某大厂来的水货CTO,写出了新手都不会犯的低级 Bug,被骗300W!就里就不点名了!...
  18. 魅族Android10内测招募答案,魅族Flyme内测招募:10款机型升级Android 10!
  19. 6.1使用设备树给DM9000网卡_触摸屏指定中断
  20. 解决Notepad++ Plugin Manager无法加载插件的方法

热门文章

  1. 手机充电器电路图应用讲解
  2. 云原生系列1 pod基础
  3. 减速器的参数优化 毕业设计 matlab,圆柱斜齿轮参数优化设计[P型问题]
  4. 微信拉群服务器繁忙,微信群拉人有限制吗?解决方案是什么?
  5. 数据处理中ToTensor紧接着Normalize
  6. [转]解密铁路12306手机客户端的开发技术
  7. 一年级关于计算机的手抄报内容是什么,一年级春天来了手抄报内容资料
  8. 评价算法的优劣标准有什么?
  9. Java开发与Python开发优劣比较
  10. 3D打印产品表面粗糙度解决方案你了解有多少?