前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据入门:Spark是否依赖Hadoop?

大数据入门:Spark是否依赖Hadoop?

作者头像
成都加米谷大数据
修改2021-06-29 17:56:31
1.6K0
修改2021-06-29 17:56:31
举报
文章被收录于专栏:大数据开发

犹记得,Spark在2013年才开始陆续传到国内,而再此之前,大数据领域可以说是Hadoop的天下。但是仅在一年多左右的时间,Spark就迅速成为了新一代的大数据框架的选择,光环甚至一度超过Hadoop,而关于Hadoop和Spark的争议,也一直没断过。比如说Spark是否依赖hadoop?

关于Spark和Hadoop的关系,一开始似乎是处在天然的对立面,非此即彼,什么Hadoop已死,Spark才是未来等等的说法,层出不穷。但是到今天来看,2021年了,Hadoop也还是主流框架之一,Spark也同样获得了不低的地位。

为什么会出现这样的状况呢?

这其实就是今天的“Spark是否依赖hadoop”这个问题的答案。

Hadoop处理大数据的架构,通常是这样的顺序:从HDFS读取输入数据;在Map阶段使用用户定义的mapper function,然后把结果写入磁盘;在Reduce阶段,从各个处于Map阶段的机器中读取Map计算的中间结果,使用用户定义的reduce function,通常最后把结果写回HDFS。

在这个过程当中,至少进行了三次数据读写,高度依赖磁盘读写的Hadoop,在数据处理上就出现了性能瓶颈,在面对更大规模、更复杂的数据处理任务上,Hadoop存在很大的局限。

Spark正是在这样的背景下诞生的,Spark不像Hadoop采取磁盘读写,而是基于性能更高的内存存储进行数据存储和读写。而Spark本身作为平台也开发了streaming处理框架,spark streaming、SQL处理框架Dataframe、机器学习库MLlib和图处理库GraphX,也形成了较为完备的数据处理生态。

但是Spark也并非完美,从上面我们可以看出,Spark缺乏数据存储这一块的支持——没有分布式文件系统。

因此,Spark是否依赖hadoop?很大程度上来说,还是依赖的。因为Spark缺乏分布式存储支持,必须要依赖外部的数据源,这个依赖可以是Hadoop系统的HDFS,也可以是其他的分布式文件系统。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据处理套件 TBDS
腾讯大数据处理套件(Tencent Big Data Suite,TBDS)依托腾讯多年海量数据处理经验,基于云原生技术和泛 Hadoop 生态开源技术提供的可靠、安全、易用的大数据处理平台。 TBDS可在公有云、私有云、非云化环境,根据不同数据处理需求组合合适的存算分析组件,包括 Hive、Spark、HBase、Flink、Presto、Iceberg、Elasticsearch、StarRocks 等,以快速构建企业级数据湖仓。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档