白话大数据 | Spark和Hadoop到底谁更厉害?
要想搞清楚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到底谁更厉害?的更多相关文章
- 大数据 --> Spark与Hadoop对比
Spark与Hadoop对比 什么是Spark Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于map reduce算法 ...
- 大数据 --> Spark和Hadoop作业之间的区别
Spark和Hadoop作业之间的区别 熟悉Hadoop的人应该都知道,用户先编写好一个程序,我们称为Mapreduce程序,一个Mapreduce程序就是一个Job,而一个Job里面可以有一个或多个 ...
- 王家林 大数据Spark超经典视频链接全集[转]
压缩过的大数据Spark蘑菇云行动前置课程视频百度云分享链接 链接:http://pan.baidu.com/s/1cFqjQu SCALA专辑 Scala深入浅出经典视频 链接:http://pan ...
- 《大数据Spark企业级实战 》
基本信息 作者: Spark亚太研究院 王家林 丛书名:决胜大数据时代Spark全系列书籍 出版社:电子工业出版社 ISBN:9787121247446 上架时间:2015-1-6 出版日期:20 ...
- 【大数据】了解Hadoop框架的基础知识
介绍 此Refcard提供了Apache Hadoop,这是最流行的软件框架,可使用简单的高级编程模型实现大型数据集的分布式存储和处理.我们将介绍Hadoop最重要的概念,描述其架构,指导您如何开始使 ...
- 一篇了解大数据架构及Hadoop生态圈
一篇了解大数据架构及Hadoop生态圈 阅读建议,有一定基础的阅读顺序为1,2,3,4节,没有基础的阅读顺序为2,3,4,1节. 第一节 集群规划 大数据集群规划(以CDH集群为例),参考链接: ht ...
- 大数据Spark超经典视频链接全集
论坛贴吧等信息发布参考模板 Scala.Spark史上最全面.最详细.最彻底的一整套视频全集(特别是机器学习.Spark Core解密.Spark性能优化.Spark面试宝典.Spark项目案例等). ...
- 【Todo】【读书笔记】大数据Spark企业级实战版 & Scala学习
下了这本<大数据Spark企业级实战版>, 另外还有一本<Spark大数据处理:技术.应用与性能优化(全)> 先看前一篇. 根据书里的前言里面,对于阅读顺序的建议.先看最后的S ...
- 大数据时代之hadoop(五):hadoop 分布式计算框架(MapReduce)
大数据时代之hadoop(一):hadoop安装 大数据时代之hadoop(二):hadoop脚本解析 大数据时代之hadoop(三):hadoop数据流(生命周期) 大数据时代之hadoop(四): ...
随机推荐
- Python 防止mysql 注入的两种方式
Python防止sql注入一般有两种方法 1.escape_string MySQLdb.escape_string(param) 注意:如果报错出现 'ascii' codec can't en ...
- golang中使用ETCD
安装 下载ETCD https://github.com/etcd-io/etcd/releases/ 安装 我下载的是window版,直接解压就可以了,解压后有以下目录 点击etcd.exe运行 然 ...
- 九.django模型基础(三)之关联对象操作及多表查询
Ⅰ.关系表的数据操作 1.正向 正向:如果一个模型有外键字段,通过这个模型对外键进行操作叫做正向. 1)更新(增) a.通过属性复制 b.通过主键的方式 总结: ForeignKey 字段的更新,跟普 ...
- DirectX11 With Windows SDK--24 Render-To-Texture(RTT)技术的应用
前言 尽管在上一章的动态天空盒中用到了Render-To-Texture技术,但那是针对纹理立方体的特化实现.考虑到该技术的应用层面非常广,在这里抽出独立的一章专门来讲有关它的通用实现以及各种应用. ...
- 2018-2019-2 《Java程序设计》第6周学习总结
20175319 2018-2019-2 <Java程序设计>第6周学习总结 教材学习内容总结 本周学习<Java程序设计>第七章和第十章: 内部类: 1.内部类可以使用外嵌类 ...
- Java虚拟机—Java8内存模型(整理版)
1.概述 对于Java程序员来说,在虚拟机自动内存管理机制的帮助下,不再需要手动释放内存,不容易出现内存泄露和内存溢出问题.一旦出现内存泄露和溢出方面的问题,如果不了解虚拟机是怎样使用内存的,排查错误 ...
- MySQL sum聚合函数
select sum(if(money > 0, money, 0)) as money from total_money 意思是如果money > 0, 将money的值累加到tot ...
- Python+Selenium+Unittest框架使用——Selenium——模拟操作浏览器(三)
1.浏览器大小的控制 Set_window_size()是控制浏览器大小 Maximize_window()浏览器全屏显示 from selenium import webdriver #导入sele ...
- Eclipse 配置Tomcat 服务器
第一部分:eclipse环境下如何配置tomcat 1.下载并成功安装Eclipse和Tomcat 2.打开Eclipse,单击“window”菜单,选择下方的“Preferences” . 选择好自 ...
- C# 最全的文件工具类FileHelper
using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Lin ...