文档章节

Hadoop与Spark对比

牧师-Panda
 牧师-Panda
发布于 2017/09/10 22:39
字数 673
阅读 72
收藏 1

作者:王礼Leon
链接:https://www.zhihu.com/question/26568496/answer/224439650
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

hadoop和Spark是两种不同的大数据处理框架,他们的组件都非常多,往往也不容易学,我把他们两者整理在一幅图中,给大家一个全貌的感觉。至于各组件的详细介绍、相关联系和区别,以及它们在大数据平台建设中的具体实施关注点,待点赞数达到1000,我再对帖子进行详细的更新,请大家随手帮忙点个赞。

以上这些大数据组件是日常大数据工作中经常会碰到的,每个组件大概的功能,我已经在图中做了标识。下面,针对这幅图我给大家两点重要提示:

a.蓝色部分,是Hadoop生态系统组件,黄色部分是Spark生态组件,虽然他们是两种不同的大数据处理框架,但它们不是互斥的,Spark与hadoop 中的MapReduce是一种相互共生的关系。Hadoop提供了Spark许多没有的功能,比如分布式文件系统,而Spark 提供了实时内存计算,速度非常快。有一点大家要注意,Spark并不是一定要依附于Hadoop才能生存,除了Hadoop的HDFS,还可以基于其他的云平台,当然啦,大家一致认为Spark与Hadoop配合默契最好摆了。

b.技术趋势:Spark在崛起,hadoop和Storm中的一些组件在消退。大家在学习使用相关技术的时候,记得与时俱进掌握好新的趋势、新的替代技术,以保持自己的职业竞争力。

HSQL未来可能会被Spark SQL替代,现在很多企业都是HIVE SQL和Spark SQL两种工具共存,当Spark SQL逐步成熟的时候,就有可能替换HSQL;

MapReduce也有可能被Spark 替换,趋势是这样,但目前Spark还不够成熟稳定,还有比较长的路要走;

Hadoop中的算法库Mahout正被Spark中的算法库MLib所替代,为了不落后,大家注意去学习Mlib算法库;

Storm会被Spark Streaming替换吗?在这里,Storm虽然不是hadoop生态中的一员,但我仍然想把它放在一起做过比较。由于Spark和hadoop天衣无缝的结合,Spark在逐步的走向成熟和稳定,其生态组件也在逐步的完善,是冉冉升起的新星,我相信Storm会逐步被挤压而走向衰退。


 

本文转载自:

共有 人打赏支持
牧师-Panda
粉丝 31
博文 146
码字总数 180044
作品 0
浦东
私信 提问
hadoop和spark的区别你搞明白了吗

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

左手的倒影
06/27
0
0
Spark笔记整理(三):Spark WC开发与应用部署

[TOC] Spark WordCount开发 创建的是maven工程,使用的依赖如下: spark wc之Java版本 本地执行,输出结果如下: ###spark wc之Java lambda版本 本地执行,输出结果如下: spark wc之scala版...

xpleaf
04/25
0
0
centOS7下Spark安装配置

starting org.apache.spark.deploy.master.Master, logging to /usr/spark/logs/spark-root-org.apache.spark.deploy.master.Master-1-master.out slave2: starting org.apache.spark.deploy......

艾艾贴
07/13
0
0
Spark(一)-- Standalone HA的部署

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq1010885678/article/details/45629643 首先交代一下集群的规模和配置 集群有六台机器,均是VM虚拟机,每台2...

jchubby
2015/05/11
0
0
Spark(二) -- Spark简单介绍

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq1010885678/article/details/45648737 spark是什么? spark开源的类Hadoop MapReduce的通用的并行计算框架 ...

jchubby
2015/05/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

小白带你认识netty(三)之NioEventLoop的线程(或者reactor线程)启动(一)

在第一章中,我们看关于NioEventLoopGroup的初始化,我们知道了NioEventLoopGroup对象中有一组EventLoop数组,并且数组中的每个EventLoop对象都对应一个线程FastThreadLocalThread,那么这个...

天空小小
50分钟前
0
0
PHP动态扩展Redis模块

查看已有模块 [root@test-a ~]# /usr/local/php/bin/php -m[PHP Modules]bz2Core...zlib[Zend Modules] 下载包,解压,生成configure文件 [root@test-a ~]# cd /usr/local/src/[ro......

野雪球
今天
1
0
在Ignite中使用线性回归算法

在本系列前面的文章中,简单介绍了一下Ignite的机器学习网格,下面会趁热打铁,结合一些示例,深入介绍Ignite支持的一些机器学习算法。 如果要找合适的数据集,会发现可用的有很多,但是对于...

李玉珏
今天
2
0
Mybatis应用学习——简单使用示例

1. 传统JDBC程序中存在的问题 1. 一个简单的JDBC程序示例: public class JDBCDemo {public static void main(String[] args) {Connection con=null;PreparedStatement statemen...

江左煤郎
今天
2
0
使用JavaScript编写iOS应用业务逻辑

JSAUIKitCocoa使你可以使用JavaScript编写对性能要求不高但可能变动性很大的iOS应用的业务逻辑部分,View组件、需要多线程支持的Model等则直接使用原生对象。 编写方式与React Native相似,但...

neal01
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部