hadoop和spark的区别

author author     2023-02-16     304

关键词:

spark和hadoop的区别:诞生的先后顺序、计算不同、平台不同。
诞生的先后顺序,hadoop属于第一代开源大数据处理平台,而spark属于第二代。属于下一代的spark肯定在综合评价上要优于第一代的hadoop。
计算不同spark和hadoop在分布式计算的底层思路上,其实是极为相似的,即mapreduce分布式运算模型:将运算分成两个阶段,阶段1-map,负责从上游拉取数据后各自运算,然后将运算结果shuffle给下游的reduce,reduce再各自对通过shuffle读取来的数据进行聚合运算spark和hadoop在分布式计算的具体实现上,又有区别;hadoop中的mapreduce运算框架,一个运算job,进行一次map-reduce的过程;而spark的一个job中,可以将多个map-reduce过程级联进行。
平台不同spark和hadoop区别是,spark是一个运算平台,而hadoop是一个复合平台(包含运算引擎,还包含分布式文件存储系统,还包含分布式运算的资源调度系统),所以,spark跟hadoop来比较的话,主要是比运算这一块大数据技术发展到目前这个阶段,hadoop主要是它的运算部分日渐式微,而spark目前如日中天,相关技术需求量大,offer好拿。
参考技术A

1、解决问题的层面不一样

首先,Hadoop和Apache Spark两者都是大数据框架,但是各自存在的目的不尽相同。Hadoop实质上更多是一个分布式数据基础设施: 它将巨大的数据集分派到一个由普通计算机组成的集群中的多个节点进行存储,意味着您不需要购买和维护昂贵的服务器硬件。
同时,Hadoop还会索引和跟踪这些数据,让大数据处理和分析效率达到前所未有的高度。Spark,则是那么一个专门用来对那些分布式存储的大数据进行处理的工具,它并不会进行分布式数据的存储。

2、两者可合可分

Hadoop除了提供为大家所共识的HDFS分布式数据存储功能之外,还提供了叫做MapReduce的数据处理功能。所以这里我们完全可以抛开Spark,使用Hadoop自身的MapReduce来完成数据的处理。

相反,Spark也不是非要依附在Hadoop身上才能生存。但如上所述,毕竟它没有提供文件管理系统,所以,它必须和其他的分布式文件系统进行集成才能运作。这里我们可以选择Hadoop的HDFS,也可以选择其他的基于云的数据系统平台。但Spark默认来说还是被用在Hadoop上面的,毕竟,大家都认为它们的结合是最好的。

以下是从网上摘录的对MapReduce的最简洁明了的解析:

    我们要数图书馆中的所有书。你数1号书架,我数2号书架。这就是“Map”。我们人越多,数书就更快。

    现在我们到一起,把所有人的统计数加在一起。这就是“Reduce”。

3、Spark数据处理速度秒杀MapReduce

Spark因为其处理数据的方式不一样,会比MapReduce快上很多。MapReduce是分步对数据进行处理的: ”从集群中读取数据,进行一次处理,将结果写到集群,从集群中读取更新后的数据,进行下一次的处理,将结果写到集群,等等…“ Booz Allen Hamilton的数据科学家Kirk Borne如此解析。
反观Spark,它会在内存中以接近“实时”的时间完成所有的数据分析:“从集群中读取数据,完成所有必须的分析处理,将结果写回集群,完成,” Born说道。Spark的批处理速度比MapReduce快近10倍,内存中的数据分析速度则快近100倍。
如果需要处理的数据和结果需求大部分情况下是静态的,且你也有耐心等待批处理的完成的话,MapReduce的处理方式也是完全可以接受的。
但如果你需要对流数据进行分析,比如那些来自于工厂的传感器收集回来的数据,又或者说你的应用是需要多重数据处理的,那么你也许更应该使用Spark进行处理。
大部分机器学习算法都是需要多重数据处理的。此外,通常会用到Spark的应用场景有以下方面:实时的市场活动,在线产品推荐,网络安全分析,机器日记监控等。

4、灾难恢复

两者的灾难恢复方式迥异,但是都很不错。因为Hadoop将每次处理后的数据都写入到磁盘上,所以其天生就能很有弹性的对系统错误进行处理。
Spark的数据对象存储在分布于数据集群中的叫做弹性分布式数据集(RDD: Resilient Distributed Dataset)中。这些数据对象既可以放在内存,也可以放在磁盘,所以RDD同样也可以提供完成的灾难恢复功能。

参考技术B 回答

Spark的中间数据放到内存中,对于迭代运算效率更高。Spark更适合于迭代运算比较多的ML和DM运算。因为在Spark里面,有RDD的抽象概念。Spark比Hadoop更通用Spark提供的数据集操作类型有很多种,不像Hadoop只提供了Map和Reduce两种操作。比如map, filter, flatMap, sample, groupByKey, reduceByKey, union, join, cogroup, mapValues, sort,partionBy等多种操作类型,Spark把这些操作称为Transformations。同时还提供Count, collect, reduce, lookup, save等多种actions操作。

麻烦给个赞 亲

谢谢

[微笑]

参考技术C

Spark:专为大规模数据处理而设计的快速通用的计算引擎,是一种与 Hadoop 相似的开源集群计算环境,拥有Hadoop MapReduce所具有的优点,Spark是MapReduce的替代方案,而且兼容HDFS、Hive,可融入Hadoop的生态系统,以弥补MapReduce的不足。

Spark主要用于大数据的计算,而Hadoop以后主要用于大数据的存储(比如HDFS、Hive、HBase等),以及资源调度(Yarn)。Spark+Hadoop,是目前大数据领域最热门的组合

本回答被提问者采纳
参考技术D 1)应用场景不同
Hadoop和Spark两者都是大数据框架,但是各自应用场景是不同的。Hadoop是一个分布式数据存储架构,它将巨大的数据集分派到一个由普通计算机组成的集群中的多个节点进行存储,降低了硬件的成本。Spark是那么一个专门用来对那些分布式存储的大数据进行处理的工具,它要借助hdfs的数据存储。
2)处理速度不同
hadoop的MapReduce是分步对数据进行处理的,从磁盘中读取数据,进行一次处理,将结果写到磁盘,然后在从磁盘中读取更新后的数据,再次进行的处理,最后再将结果存入磁盘,这存取磁盘的过程会影响处理速度。spark从磁盘中读取数据,把中间数据放到内存中,,完成所有必须的分析处理,将结果写回集群,所以spark更快。
3)容错性不同
Hadoop将每次处理后的数据都写入到磁盘上,基本谈不上断电或者出错数据丢失的情况。Spark的数据对象存储在弹性分布式数据集 RDD,RDD是分布在一组节点中的只读对象集合,如果数据集一部分丢失,则可以根据于数据衍生过程对它们进行重建。而且RDD 计算时可以通过 CheckPoint 来实现容错。

hadoop和spark的区别

spark和hadoop的区别:诞生的先后顺序、计算不同、平台不同。诞生的先后顺序,hadoop属于第一代开源大数据处理平台,而spark属于第二代。属于下一代的spark肯定在综合评价上要优于第一代的hadoop。计算不同spark和hadoop在分布式计... 查看详情

spark和hadoop的区别

spark和hadoop的区别:诞生的先后顺序、计算不同、平台不同。诞生的先后顺序,hadoop属于第一代开源大数据处理平台,而spark属于第二代。属于下一代的spark肯定在综合评价上要优于第一代的hadoop。计算不同spark和hadoop在分布式计... 查看详情

BOINC 和 Hadoop/Spark/etc 之间的区别

】BOINC和Hadoop/Spark/etc之间的区别【英文标题】:DifferencebetweenBOINCandHadoop/Spark/etc【发布时间】:2016-06-2516:29:14【问题描述】:BOINChttps://en.wikipedia.org/wiki/Berkeley_Open_Infrastructure_for_Network_Computing有什么区别对比通用Hadoop/Spark/等。大... 查看详情

hadoop和spark的区别介绍

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

MongoDB & Spark:mongo-hadoop 和 mongo-spark 的区别

】MongoDB&Spark:mongo-hadoop和mongo-spark的区别【英文标题】:MongoDB&Spark:differencebetweenmongo-hadoopandmongo-spark【发布时间】:2018-07-1005:12:27【问题描述】:mongo-hadoop和mongo-spark连接器有什么区别,pymongo是否仅适用于mango-hadoop?pymongo... 查看详情

hadoop和spark的相同和区别

参考技术A解决问题的层面不一样首先,Hadoop和ApacheSpark两者都是大数据框架,但是各自存在的目的不尽相同。Hadoop实质上更多是一个分布式数据基础设施:它将巨大的数据集分派到一个由普通计算机组成的集群中的多个节点进行... 查看详情

hadoop,mapreduce,yarn和spark的区别与联系

  (1)Hadoop1.0  第一代Hadoop,由分布式存储系统HDFS和分布式计算框架MapReduce组成,其中,HDFS由一个NameNode和多个DataNode组成,MapReduce由一个JobTracker和多个TaskTracker组成,对应Hadoop版本为Hadoop1.x和0.21.X,0.22.x。  (2)Hadoop2... 查看详情

npl程序设计语言,cnn,rnn,lstm,spark和hadoop的区别,云计算,kubeflow

目录NPL程序设计语言深度学习框架建模:CNN,RNN,LSTMspark和hadoop的区别云计算 查看详情

请描述下大数据三大平台hadoop,storm,spark的区别和应用场景

Hadoop当前大数据管理标准之一,运用在当前很多商业应用系统。可以轻松地集成结构化、半结构化甚至非结构化数据集还是离线处理,批处理比较多,用的比较广的是hiveStorm用于处理高速、大型数据流的分布式实时计算系统。为... 查看详情

hadoop和spark的都是并行计算,有啥相同和区别?

...侧重于内存+磁盘,内存占得比重比较大,这也是为什么Hadoop没spark速度快的根本原因,spark基于内存来做MR,而Hadoop侧重于落地到磁盘来做MR。参考技术A两者都是用mr模型来进行并行计算,hadoop的一个作业称为job,job里面分为maptas... 查看详情

hadoop,storm和spark的区别,比较

一、hadoop、Storm该选哪一个?为了区别hadoop和Storm,该部分将回答如下问题:1.hadoop、Storm各是什么运算2.Storm为什么被称之为流式计算系统3.hadoop适合什么场景,什么情况下使用hadoop4.什么是吞吐量首先整体认识:Hadoop是磁盘级计... 查看详情

hadoop,storm和spark的区别,比较

参考技术A一、hadoop、Storm该选哪一个?为了区别hadoop和Storm,该部分将回答如下问题:1.hadoop、Storm各是什么运算2.Storm为什么被称之为流式计算系统3.hadoop适合什么场景,什么情况下使用hadoop4.什么是吞吐量首先整体认识:Hadoop是... 查看详情

hadoop,storm和spark的区别,比较

参考技术A一、hadoop、Storm该选哪一个?为了区别hadoop和Storm,该部分将回答如下问题:1.hadoop、Storm各是什么运算2.Storm为什么被称之为流式计算系统3.hadoop适合什么场景,什么情况下使用hadoop4.什么是吞吐量首先整体认识:Hadoop是... 查看详情

hadoop,storm和spark的区别,比较

参考技术A一、hadoop、Storm该选哪一个?为了区别hadoop和Storm,该部分将回答如下问题:1.hadoop、Storm各是什么运算2.Storm为什么被称之为流式计算系统3.hadoop适合什么场景,什么情况下使用hadoop4.什么是吞吐量首先整体认识:Hadoop是... 查看详情

spark与hadoop区别与联系

参考技术Ahadoop是分布式系统基础架构,是个大的框架,spark是这个大的架构下的一个内存计算框架,负责计算,同样作为计算框架的还有mapreduce,适用范围不同,比如hbase负责列式存储,hdfs文件系统等等。另外spark是可以脱离hado... 查看详情

hadoop,spark,tez的区别与联系

文章目录1.0什么是Hadoop2.0什么是Spark3.0什么是Tez4.0三者之间的关系5.0Mr,Tez,Spark的对比1.0什么是Hadoop1)hadoop简介  Hadoop是一个由Apache基金会所开发的分布式系统基础架构。Hadoop实现了一个分布式文件系统HDFS。HDFS有... 查看详情

mapreduce split 和 spark 分区的区别

...时间】:2016-09-2302:53:46【问题描述】:我想问一下在使用Hadoop/MapReduce和Spark时数据分区有什么显着差异?他们都在HDFS(TextInputFormat)上工作,所以理论上应该是一样的。是否存在数据分区过程可能不同的情况?任何见解 查看详情

hadoop、hive、spark三者的区别和关系

参考技术AHadoop分为两大部分:HDFS、Mapreduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。由于编写MapReduce程序繁琐复杂,而sql语言比较简单,程序员就开发出了支持sql的hive。hive的出现方便了程序员和没... 查看详情