apache火花可以没有hadoop吗?

问题描述 投票:71回答:9

Spark和Hadoop之间是否有任何依赖关系?

如果没有,当我在没有Hadoop的情况下运行Spark时,是否会有任何我想念的功能?

hadoop amazon-s3 apache-spark mapreduce mesos
9个回答
38
投票

Spark可以在没有Hadoop的情况下运行,但它的一些功能依赖于Hadoop的代码(例如处理Parquet文件)。我们在Mesos和S3上运行Spark,设置起来有点棘手,但是一旦完成就能很好地工作(你可以阅读正确设置它所需要的摘要here)。

(编辑)注意:从版本2.3.0开始,Spark还为Kubernetes添加了原生支持


80
投票

Spark是一种内存分布式计算引擎。

Hadoop是分布式存储(HDFS)和分布式处理(YARN)的框架。

Spark可以在有或没有Hadoop组件的情况下运行(HDFS / YARN)


分布式存储:

由于Spark没有自己的分布式存储系统,因此必须依赖其中一个存储系统进行分布式计算。

S3 - 非紧急批处理作业。当数据位置不重要时,S3适合非常具体的用例。

Cassandra - 适用于流数据分析和批处理作业的过度杀伤。

HDFS - 非常适合批处理作业,而不会影响数据的位置。


分布式处理:

您可以在三种不同的模式下运行Spark:Standalone,YARN和Mesos

有关分布式存储和分布式处理的详细说明,请查看下面的SE问题。

Which cluster type should I choose for Spark?


22
投票

默认情况下,Spark没有存储机制。

要存储数据,它需要快速且可扩展的文件系统。您可以使用S3或HDFS或任何其他文件系统。由于成本低,Hadoop是经济的选择。

此外,如果您使用Tachyon,它将提高Hadoop的性能。强烈建议Hadoop进行apache spark处理。 enter image description here


5
投票

是的,火花可以在没有hadoop的情况下运行。所有核心火花功能将继续工作,但你会错过诸如通过hdfs等将所有文件(代码和数据)轻松分发到集群中的所有节点。


3
投票

是的,您可以在没有Hadoop的情况下安装Spark。这可能有点棘手你可以参考arnon链接使用镶木地板在S3上配置为数据存储。 http://arnon.me/2015/08/spark-parquet-s3/

Spark只进行处理,它使用动态内存来执行任务,但是存储数据需要一些数据存储系统。这里hadoop与Spark合作,它为Spark提供存储。使用Hadoop和Spark的另一个原因是它们是开源的,与其他数据存储系统相比,它们可以轻松地相互集成。对于像S3这样的其他存储,你应该很难配置它像上面链接中提到的那样。

但是Hadoop也有它的处理单元Mapreduce。

想知道两者的区别吗?

查看这篇文章:https://www.dezyre.com/article/hadoop-mapreduce-vs-apache-spark-who-wins-the-battle/83

我认为这篇文章会帮助你理解

  • 用什么,
  • 何时使用和
  • 如何使用 !!!

2
投票

根据Spark文档,Spark可以在没有Hadoop的情况下运行。

您可以在没有任何资源管理器的情况下将其作为独立模式运行。

但是如果你想在多节点设置中运行,你需要像YARN或Mesos这样的资源管理器以及像HDFS,S3等分布式文件系统。


1
投票

当然是。 Spark是一个独立的计算框架。 Hadoop是一个带有MapReduce计算框架的分布式存储系统(HDFS)。 Spark可以从HDFS以及任何其他数据源(如传统数据库(JDBC),kafka甚至本地磁盘)获取数据。


0
投票

是的,Spark可以在安装或不安装Hadoop的情况下运行,以获取更多详细信息,您可以访问-https://spark.apache.org/docs/latest/


-5
投票

不需要。它需要完整的Hadoop安装才能开始工作 - https://issues.apache.org/jira/browse/SPARK-10944

© www.soinside.com 2019 - 2024. All rights reserved.