spark和hadoop有何不同?

lbsnaicq  于 2021-06-02  发布在  Hadoop
关注(0)|答案(3)|浏览(313)

我正在努力学习spark框架。在其主页上https://spark.apache.org/ 据说它比hadoop框架要好。但是他们说:spark在hadoop上运行。。。我真的不明白为什么在hadoop上运行会比hadoop好。
有人能解释一下这两者之间的等级关系吗?

3df52oht

3df52oht1#

ApacheHadoop(2.0)提供了两个主要组件:(1) HDFS hadoop分布式文件系统,用于在集群上存储数据(即文件),以及(2) YARN 集群计算资源管理系统(即cpu/ram)。
hadoop 2.0版本:
存储管理:hdfs
计算资源管理:Yarn
hadoop(2.0)还提供了一个名为“mapreduce(mr2-mapreduce2)”的执行引擎,它可以使用yarn计算资源来执行基于mapreduce的程序。
在hadoop(2.0)之前,yarn并不存在,mapreduce同时扮演着资源管理和执行引擎的角色。hadoop(2.0)将计算资源管理与执行引擎分离,允许您在hadoop集群上运行多种类型的应用程序。
当人们说spark比hadoop更好时,他们通常指的是mapreduce执行引擎。
当人们说spark可以在hadoop(2.0)上运行时,他们通常指的是使用计算资源的spark。
一些hadoop 2.0执行引擎示例:
用于运行mapreduce2(mr2)的Yarn资源
用于运行spark的Yarn资源
用于运行tez的Yarn资源
spark程序需要资源来运行,它们通常来自spark独立集群,或者使用hadoop集群的yarn资源获取资源;运行spark还有其他方法,但这里不需要讨论这些方法。
与mapreduce程序一样,spark程序也可以访问存储在hdfs或其他地方的数据。

t0ybt7op

t0ybt7op2#

我想这会帮助你更好地理解spark和haddop之间的关系:
hadoop本质上是一个分布式数据基础设施:它在一个商品服务器集群中的多个节点上分布大量的数据集合,这意味着您不需要购买和维护昂贵的定制硬件。它还对这些数据进行索引和跟踪,使大数据处理和分析比以前更加有效。
另一方面,spark是一种数据处理工具,用于处理分布式数据收集;它不做分布式存储。
欲了解更多信息,请阅读此。

eufgjt7s

eufgjt7s3#

hadoop的主要组件是资源管理器(yarn)、分布式文件系统(hdfs)和分布式工作流框架(mapreduce)。
spark可以使用yarn在hadoop上运行,但spark不使用hdfs或mapreduce,而是使用dag(directed acyclic graph)来规划作业,并尝试在内存(而不是文件系统)中存储尽可能多的数据。在大多数情况下,这会使spark更快。
spark也可以在没有专用hadoop集群的情况下以独立模式运行,因此这两种模式并不是100%绑定在一起的。

相关问题