Hadoop 与 Spark 对比
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 对比的更多相关文章
- hadoop之Spark强有力竞争者Flink,Spark与Flink:对比与分析
hadoop之Spark强有力竞争者Flink,Spark与Flink:对比与分析 Spark是一种快速.通用的计算集群系统,Spark提出的最主要抽象概念是弹性分布式数据集(RDD),它是一个元素集 ...
- PageRank在Hadoop和spark下的实现以及对比
关于PageRank的地位,不必多说. 主要思想:对于每个网页,用户都有可能点击网页上的某个链接,例如 A:B,C,D B:A,D C:AD:B,C 由这个我们可以得到网页的转移矩阵 A ...
- Hadoop vs Spark性能对比
http://www.cnblogs.com/jerrylead/archive/2012/08/13/2636149.html Hadoop vs Spark性能对比 基于Spark-0.4和Had ...
- 深度:Hadoop对Spark五大维度正面比拼报告!
每年,市场上都会出现种种不同的数据管理规模.类型与速度表现的分布式系统.在这些系统中,Spark和hadoop是获得最大关注的两个.然而该怎么判断哪一款适合你? 如果想批处理流量数据,并将其导入HDF ...
- 剖析Hadoop和Spark的Shuffle过程差异
一.前言 对于基于MapReduce编程范式的分布式计算来说,本质上而言,就是在计算数据的交.并.差.聚合.排序等过程.而分布式计算分而治之的思想,让每个节点只计算部分数据,也就是只处理一个分片,那么 ...
- 剖析Hadoop和Spark的Shuffle过程差异(一)
一.前言 对于基于MapReduce编程范式的分布式计算来说,本质上而言,就是在计算数据的交.并.差.聚合.排序等过程.而分布式计算分而治之的思想,让每个节点只计算部分数据,也就是只处理一个分片,那么 ...
- 大数据hadoop与spark的区别
学习hadoop已经有很长一段时间了,好像是二三月份的时候朋友给了一个国产Hadoop发行版下载地址,因为还是在学习阶段就下载了一个三节点的学习版玩一下.在研究.学习hadoop的朋友可以去找一下看看 ...
- [转帖]大数据hadoop与spark的区别
大数据hadoop与spark的区别 https://www.cnblogs.com/adnb34g/p/9233906.html Posted on 2018-06-27 14:43 左手中倒影 阅 ...
- 深度:Hadoop对Spark五大维度正面比拼!
每年,市场上都会出现种种不同的数据管理规模.类型与速度表现的分布式系统.在这些系统中,Spark和hadoop是获得最大关注的两个.然而该怎么判断哪一款适合你? 如果想批处理流量数据,并将其导入HDF ...
随机推荐
- 【胡策篇】题解 (UOJ 192 + CF938G + SPOJ DIVCNT2)
和泉纱雾与烟花大会 题目来源: UOJ 192 最强跳蚤 (只改了数据范围) 官方题解: 在这里哦~(说的很详细了 我都没啥好说的了) 题目大意: 求树上各边权乘积是完全平方数的路径数量. 这种从\( ...
- codeforces1175E Minimal Segment Cover 倍增
题目传送门 题意:给出n条平行于x轴的线段,q次询问,每次询问一个区间最少要几条线段来覆盖,若不能覆盖则输出-1. 思路:先考虑贪心,必定是先找到,所有左端点小于等于$x$的线段的右端点最大在哪里,然 ...
- 笔记37 Spring Web Flow——流程的组件
在Spring Web Flow中,流程是由三个主要元素定义的:状态.转移和 流程数据. 一.状态 Spring Web Flow定义了五种不同类型的状态.通过选择Spring Web Flow的状态 ...
- CSIC_716_20191206【并发编程理论基础】
进程:正在执行的一个过程,进程是对正在执行过程的一个抽象.区别于程序, 进程的三种状态: 进程是动态的. 就绪态ready: 进程具备运行状态,等待操作系统分配处理器 运行状态running:进 ...
- 本地仓库_remote.repositories(拒绝访问)
问题描述: 通过阿里云配置本地的 Maven 仓库,使用 Maven 命令在进行打包.编译等一系列操作时候,总是出现提示某个 Jar 文件 ---> 『.....\ _remote.reposi ...
- 对每一个IO操作的返回都要进行判断
对每一个IO操作的返回都要进行判断 我们业务代码中有很多进行mysql.redis.文件.curl等的io操作,对每一个io操作我们都要对其返回值进行判断,然后做对应的处理,加日志信息或者抛出异常状态 ...
- 常用Jquery前端操作
input只能输入正整数 onkeyup="this.value=this.value.replace(/\D/g,'')" if(!confirm("删除后无法恢复,确 ...
- 关于windows下远程连接Linux服务器的方法(CentOs)
1.服务器端安装VNC 1) 安装vncserver yum install -y tigervnc-server 2) 修改配置 vi /etc/sysconfig/vncservers 最后两 ...
- hdu4126_hdu4756_求最小生成树的最佳替换边_Kruskal and Prim
目录 Catalog Solution: (有任何问题欢迎留言或私聊 && 欢迎交流讨论哦 Catalog Problem: Portal: hdu4126 hdu4756 原题目 ...
- go语言type使用小技巧
import "fmt" type Rank int const ( Rank001 Rank = iota Rank002 Rank003 Rank004 ) var rewar ...