要想搞清楚spark跟Hadoop到底谁更厉害,首先得明白spark到底是什么鬼。

经过之前的介绍大家应该非常了解什么是Hadoop了(不了解的点击这里:白话大数据 | hadoop究竟是什么鬼),简单的说:Hadoop是由HDFS分布式文件系统和MapReduce编程模型等部分组成的分布式系统架构。

而Spark呢,更像是Hadoop MapReduce这样的编程模型。

其实要讲清楚Spark,内存和磁盘这两个概念是必须要弄清楚的,相信在座的老爷太太们都懂,我还是简单说一下吧。内存和磁盘两者都是存储设备, 但内存储存的是我们正在使用的资源,磁盘储存的是我们暂时用不到的资源。磁盘就像这个仓库,而内存就像进出仓库的通道,其实也不完全是这样啦,小编主要想跟大家说的就是仓库很大,要塞满它很难,反观通道很小就很容易塞满。

Spark和MapReduce的相同之处是都不带有磁盘文件系统,都可以依附HDFS作为分布式(磁盘)文件系统

所以说Spark与Hadoop并无冲突,甚至可以与Hdoop融为一体)。

不同之处挺多的,但主要是Spark有一个分布式内存文件系统,可以对内存中的文件进行分布处理。那么小编先举一个例子让大家看看Spark和MapReduce在处理问题方式上有什么区别。

Mapreduce每一个步骤发生在内存中但产生的中间值都会储存在磁盘里,下一步操作时又会将这个中间值调用到内存中,如此循环,直到最终完成。

Spark的每个步骤也是发生在内存之中但产生的中间值会直接进入下一个步骤,直到所有的步骤完成之后才会将最终结果保存进磁盘。所以在使用Spark做数据分析能少进行很多次相对没有意义的读写,节省大量的时间,少数步骤可能感觉不出区别,但是步骤很多时,Spark的优势就体现出来了。
大家可以看出来了,MapReduce就是一个稳重的妈妈,一步一步来,有条不紊。Spark就像一个急躁的妈妈,一个步骤还没完成呢,就开始进行下一个步骤了,当然,这也要求操作台足够大,放得下这么多东西。

当然,任何技术都是有得必有失的,虽然Spark很快,但Spark运作时会占用大量计算机内存,而小编之前说过,内存空间相比于磁盘空间,那是很小很小的,这就要求使用者去购买具有较大内存的服务器布置集群,而这样的服务器是很昂贵的。由于内存的限制,即使是用昂贵的服务器,Spark也不能太好地处理很大批量的文件,而这些问题都是MapReduce不用考虑的。小编记得有大神举过很棒的例子,MapReduce就像一把大砍刀,什么都能砍,尽管速度有点不尽人意;Spark就像一把剔骨刀,很锋利速度很快,但具有局限性,不能砍太大的东西。

白话大数据 | Spark和Hadoop到底谁更厉害?的更多相关文章

  1. 大数据 --> Spark与Hadoop对比

    Spark与Hadoop对比 什么是Spark Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于map reduce算法 ...

  2. 大数据 --> Spark和Hadoop作业之间的区别

    Spark和Hadoop作业之间的区别 熟悉Hadoop的人应该都知道,用户先编写好一个程序,我们称为Mapreduce程序,一个Mapreduce程序就是一个Job,而一个Job里面可以有一个或多个 ...

  3. 王家林 大数据Spark超经典视频链接全集[转]

    压缩过的大数据Spark蘑菇云行动前置课程视频百度云分享链接 链接:http://pan.baidu.com/s/1cFqjQu SCALA专辑 Scala深入浅出经典视频 链接:http://pan ...

  4. 《大数据Spark企业级实战 》

    基本信息 作者: Spark亚太研究院   王家林 丛书名:决胜大数据时代Spark全系列书籍 出版社:电子工业出版社 ISBN:9787121247446 上架时间:2015-1-6 出版日期:20 ...

  5. 【大数据】了解Hadoop框架的基础知识

    介绍 此Refcard提供了Apache Hadoop,这是最流行的软件框架,可使用简单的高级编程模型实现大型数据集的分布式存储和处理.我们将介绍Hadoop最重要的概念,描述其架构,指导您如何开始使 ...

  6. 一篇了解大数据架构及Hadoop生态圈

    一篇了解大数据架构及Hadoop生态圈 阅读建议,有一定基础的阅读顺序为1,2,3,4节,没有基础的阅读顺序为2,3,4,1节. 第一节 集群规划 大数据集群规划(以CDH集群为例),参考链接: ht ...

  7. 大数据Spark超经典视频链接全集

    论坛贴吧等信息发布参考模板 Scala.Spark史上最全面.最详细.最彻底的一整套视频全集(特别是机器学习.Spark Core解密.Spark性能优化.Spark面试宝典.Spark项目案例等). ...

  8. 【Todo】【读书笔记】大数据Spark企业级实战版 & Scala学习

    下了这本<大数据Spark企业级实战版>, 另外还有一本<Spark大数据处理:技术.应用与性能优化(全)> 先看前一篇. 根据书里的前言里面,对于阅读顺序的建议.先看最后的S ...

  9. 大数据时代之hadoop(五):hadoop 分布式计算框架(MapReduce)

    大数据时代之hadoop(一):hadoop安装 大数据时代之hadoop(二):hadoop脚本解析 大数据时代之hadoop(三):hadoop数据流(生命周期) 大数据时代之hadoop(四): ...

随机推荐

  1. Educational Codeforces Round 62 (Rated for Div. 2)C

    题目链接 :C. Playlist #include<bits/stdc++.h> using namespace std; #define maxn 300005 #define LL ...

  2. Spring WebFlux 要革了谁的命?

    Spring WebFlux 要革了谁的命?  mp.weixin.qq.com 托梦 Java国王昨晚做了一个梦. 梦中有个白胡子老头儿,颇有仙风道骨, 告诉他说:“你们Java啊,实在是太弱了,连 ...

  3. IDEA 常用配置

    调节代码字体大小 设置:File --- Settings... --- Editor --- General --- 勾选Change font size(Zoom) with Ctrl + Mou ...

  4. C语言面试题大汇总之华为面试题 Eddy整理

    1.局部变量能否和全局变量重名? 答:能,局部会屏蔽全局.要用全局变量,需要使用"::" ;局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局 ...

  5. Linux记录-sftp上传大文件

    1.Alt +P 进入sftp会话 2.pwd显示linux目录 lpwd显示windows目录 3.lcd切换windows目录 cd切换linux目录 4.put上传 5.get下载 6.help ...

  6. Angular4.x跨域请求

    Angular4.x请求 码云地址: https://gitee.com/ccsoftlucifer/Angular4Study 1. 搭建工程 新建一个工程angulardemo03 ng new ...

  7. <HTML> 模块

    一些元素 <q>元素 用于引用, quote 浏览器一般会负责加上双引号,但是不是所有的浏览器都会在<q>元素的内容两边加双引号. <blockquote>元素 用 ...

  8. docker 基础知识分享ppt

    给团队做的docker基础分享ppt, 见下面的附件. https://files.cnblogs.com/files/harrychinese/docker_intro.pptx

  9. jquery script两个属性

    今天使用jquery cdn时发现多了两个属性. <script   src="http://code.jquery.com/jquery-2.2.4.min.js"   i ...

  10. JDBC——连接数据库

    JDBC的基本介绍 1.概述:jdbc是使用Java访问各种数据库的一种技术 (1)jdbc工作原理 2.jdbc核心Java类(API) (1)DriverManager类 作用:管理各种数据库的驱 ...