Hadoop进行海量数据分析,MR频繁落地,IO操作,计算时间就拉长。由于这种设计影响,计算过程中不能进行迭代计算。造成网络节点数据传输。

Spark从理念上就开始改变。应用scala特点解决上面的核心问题,提升处理速度。Spark基于内存来实现,内存访问效率比磁盘访问效率高非常多。Spark不能完全基于内存,(所有要加工的数据都放入内存),部分数据也需要落地。一部分数据放在内存中,进行计算,计算中间结果有些不落地,直接放在内存,以val静态常量实现,新的RDD方式来存在。可以实现迭代式计算。

Spark比Hadoop性能,如果基于内存高100倍,如果基于磁盘高10倍。

Spark成也内存,败也内存

Spark基于内存,所以性能自然提高,和Hadoop相比,提高100倍。Spark磁盘方式,比Hadoop快10倍。

Spark对内存要求过多,需要大量内存,内存相比磁盘贵,企业采购压力。硬件要比hadoop贵很多。

Spark基于内存,很容易内存溢出。要么增加硬件来解决。增加cache/persist,增加检查点。把内存中的内容部分放入到磁盘中。性能稍打折扣。

Spark设计非常优秀,基于内存,随着硬件、内存越来越快,越来越廉价。最终Spark会超越Hadoop。Hadoop3.0引入把部分中间结果数据不落地,直接放在内存中。Hive新版提升29倍。

在实际中使用情况:

Hadoop使用比较多,和Yarn整合比较多。

Spark很多公司已经开始采用,逐步替代掉Hadoop作业,MR/hive被替代掉

在企业中Yarn集群中既有老的Hadoop作业,也有新的Spark作业。

Hadoop海量数据的离线分析

Spark海量数据的实时分析

Hadoop的问题

1)  MR过程,Map过程做完要把中间结果数据落地,Reduce要继续加工数据,把中间结果数据读出,继续计算。这个过程中频繁IO操作。导致Hadoop处理速度严重受影响。

2)  分布式环境,网络传输,导致Hadoop处理速度严重受影响。

3)  MR过程非迭代运行,导致Hadoop处理速度严重受影响。

这个3条能否改善?

1)  Hadoop设计非常谨慎,因为当时历史条件(在486稳定运行+网络拨号512k)随着社会发展,硬件日新月异(电脑+网络)Spark设计基于内存。中间过程不落地,后续需要继续使用中间结果,直接拿。性能提升100倍

2)  网络自身硬件速度得到飞速提升,spark直接依赖这样稳定网络环境

3)  整个处理过程是迭代运行。利用内存中中间结果,使用高级函数方式(函数式编程)实现了内存中迭代计算。

Spark比Hadoop快的原因:

1)  基于内存,中间结果不落地,val

2)  迭代式运行

Hadoop生态圈(MR、hive、HDFS、hbase、yarn)

Spark生态圈(SparkSQL、HDFS、Tachyon内存列、yarn/mesos)

超越:SparkSQL替代掉MR和hive

依赖:HDFS和yarn

Spark是Hadoop升级,互相补充。部分替代。Hadoop主要应用于离线处理,Spark相对实时处理(秒级别),Storm真正实时(亚秒级别)

Hadoop 与 Spark 对比的更多相关文章

  1. hadoop之Spark强有力竞争者Flink,Spark与Flink:对比与分析

    hadoop之Spark强有力竞争者Flink,Spark与Flink:对比与分析 Spark是一种快速.通用的计算集群系统,Spark提出的最主要抽象概念是弹性分布式数据集(RDD),它是一个元素集 ...

  2. PageRank在Hadoop和spark下的实现以及对比

    关于PageRank的地位,不必多说. 主要思想:对于每个网页,用户都有可能点击网页上的某个链接,例如 A:B,C,D B:A,D C:AD:B,C 由这个我们可以得到网页的转移矩阵      A   ...

  3. Hadoop vs Spark性能对比

    http://www.cnblogs.com/jerrylead/archive/2012/08/13/2636149.html Hadoop vs Spark性能对比 基于Spark-0.4和Had ...

  4. 深度:Hadoop对Spark五大维度正面比拼报告!

    每年,市场上都会出现种种不同的数据管理规模.类型与速度表现的分布式系统.在这些系统中,Spark和hadoop是获得最大关注的两个.然而该怎么判断哪一款适合你? 如果想批处理流量数据,并将其导入HDF ...

  5. 剖析Hadoop和Spark的Shuffle过程差异

    一.前言 对于基于MapReduce编程范式的分布式计算来说,本质上而言,就是在计算数据的交.并.差.聚合.排序等过程.而分布式计算分而治之的思想,让每个节点只计算部分数据,也就是只处理一个分片,那么 ...

  6. 剖析Hadoop和Spark的Shuffle过程差异(一)

    一.前言 对于基于MapReduce编程范式的分布式计算来说,本质上而言,就是在计算数据的交.并.差.聚合.排序等过程.而分布式计算分而治之的思想,让每个节点只计算部分数据,也就是只处理一个分片,那么 ...

  7. 大数据hadoop与spark的区别

    学习hadoop已经有很长一段时间了,好像是二三月份的时候朋友给了一个国产Hadoop发行版下载地址,因为还是在学习阶段就下载了一个三节点的学习版玩一下.在研究.学习hadoop的朋友可以去找一下看看 ...

  8. [转帖]大数据hadoop与spark的区别

    大数据hadoop与spark的区别 https://www.cnblogs.com/adnb34g/p/9233906.html Posted on 2018-06-27 14:43 左手中倒影 阅 ...

  9. 深度:Hadoop对Spark五大维度正面比拼!

    每年,市场上都会出现种种不同的数据管理规模.类型与速度表现的分布式系统.在这些系统中,Spark和hadoop是获得最大关注的两个.然而该怎么判断哪一款适合你? 如果想批处理流量数据,并将其导入HDF ...

随机推荐

  1. Linux --赋予普通用户root 权限

    Linux的普通用户在安装一些东西的时候或者执行命令的时候,终端始终会提示权限不够,我们会将这个普通用户赋予root权限,但是,和root还是有区别的,因为只能执行root规定好的一些操作命令. 1. ...

  2. 安装 Confluence6.7.1 笔记

    安装 Confluence6.7.1 我是使用命令行进入mysql的mysql -uroot -p123456 创建数据库 CREATE DATABASE confluence DEFAULT CHA ...

  3. SpringCloud+Eureka+Feign+Ribbon+zuul的简化搭建流程和CRUD练习

    环境:win10--idea2019--jdk8 1.搭建Eureka服务模块 1.1 新建eureka服务模块(Sping Initializr) 取名为eureka-server,并添加如下Dep ...

  4. 程序‘vim’已包含在下列软件包中

    解决方法: 输入:sudo apt-get install ctags 输入:sudo apt-get install vim 输入:sudo ./config.sh (亲测有效)输入:vim tes ...

  5. Thinkphp 3.2 去掉index.php

    1.httpd.conf中去掉LoadModule rewrite_module modules/mod_rewrite.so 前面的#号 2.httpd.conf 中  AllowOverride ...

  6. LUOGU P1501 [国家集训队]Tree II (lct)

    传送门 解题思路 \(lct\),比较模板的一道题,路径加和乘的维护标记与线段树\(2\)差不多,然后剩下就没啥了.但调了我将近一下午.. 代码 #include<iostream> #i ...

  7. 转:这里有些sscanf()的一些使用说明,都是从论坛,Blog里整理出来的。供大家使用。

    http://www.cnblogs.com/gmh915/archive/2009/09/30/1576995.html 这里有些sscanf()的一些使用说明,都是从论坛,Blog里整理出来的.供 ...

  8. super 关键字的使用及说明

    super 关键字主要用于访问父类的变量和方法. 代码示例: public class Student { String name; public Student(){ System.out.prin ...

  9. liunx crontab 参数代表含义

    * * * * * (下面的字体对应) 分钟 小时 几号 月份 星期几 星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作. 逗号(,): ...

  10. Spring REST(4)

    REST风格 /user/1    get请求  获取用户 /user/1 post请求   新增用户 /user/1 put请求     更新用户 /user/1 delete请求 删除用户 在Sp ...