没有 hadoop,apache 可以 spark 运行 吗?
Can apache spark run without hadoop?
Spark和Hadoop[=之间是否存在依赖关系24=]?
如果没有,当我 运行 Spark 没有 时,我会错过什么功能吗? Hadoop?
是的,spark 可以 运行 没有 hadoop。所有核心 spark 功能都将继续工作,但您会错过一些事情,例如通过 hdfs 轻松地将所有文件(代码和数据)分发到集群中的所有节点等。
Spark 可以 运行 没有 Hadoop,但它的一些功能依赖于 Hadoop 的代码(例如处理 Parquet 文件)。我们在 Mesos 和 S3 上 运行ning Spark,设置起来有点棘手,但完成后效果非常好(您可以阅读正确设置所需内容的摘要 here)。
(编辑)注意:从 2.3.0 版开始,Spark 还添加了对 Kubernetes 的原生支持
默认情况下,Spark 没有存储机制。
要存储数据,需要快速且可扩展的文件系统。您可以使用 S3 或 HDFS 或任何其他文件系统。由于成本低,Hadoop 是经济的选择。
此外,如果您使用 Tachyon,它将提高 Hadoop 的性能。强烈推荐 Hadoop 用于 apache spark 处理。
根据 Spark 文档,Spark 可以 运行 没有 Hadoop。
您可以运行将其作为没有任何资源管理器的独立模式。
但是如果你想在多节点设置中运行,你需要一个资源管理器比如 YARN 或 Mesos和分布式文件系统,如 HDFS、S3 等
当然可以。 Spark 是一个独立的计算框架。 Hadoop是一个分布式存储系统(HDFS),具有MapReduce计算框架。 Spark可以从HDFS获取数据,也可以从传统数据库(JDBC)、kafka甚至本地磁盘等任何其他数据源获取数据。
没有。它需要完整的 Hadoop 安装才能开始工作 - https://issues.apache.org/jira/browse/SPARK-10944
是的,您可以在没有 Hadoop 的情况下安装 Spark。
那会有点棘手
您可以参考 arnon link 使用 parquet 在 S3 上配置为数据存储。
http://arnon.me/2015/08/spark-parquet-s3/
Spark 只做处理,它使用动态内存来执行任务,但要存储数据,您需要一些数据存储系统。这里 hadoop 与 Spark 一起发挥作用,它为 Spark 提供存储。
将 Hadoop 与 Spark 一起使用的另一个原因是它们是开源的,并且与其他数据存储系统相比,两者可以轻松地相互集成。对于像 S3 这样的其他存储,你应该像上面提到的那样配置它 link.
但是 Hadoop 也有它的处理单元,叫做 Mapreduce。
想知道两者的区别吗?
查看这篇文章:https://www.dezyre.com/article/hadoop-mapreduce-vs-apache-spark-who-wins-the-battle/83
我想这篇文章会帮助你理解
用什么,
何时使用和
如何使用!!!
Spark 是一个 in-memory 分布式计算引擎。
Hadoop是分布式存储(HDFS)和分布式处理(YARN的框架).
Spark 可以 运行 使用或不使用 Hadoop 组件 (HDFS/YARN)
分布式存储:
由于Spark没有自己的分布式存储系统,所以不得不依赖其中一个存储系统进行分布式计算。
S3 – Non-urgent 批处理作业。当数据局部性不重要时,S3 适合非常具体的用例。
Cassandra – 非常适合流数据分析和批处理作业。
HDFS – 非常适合批处理作业而不影响数据局部性。
分布式处理:
您可以 运行 三种不同模式的 Spark:独立、YARN 和 Mesos
查看下面的 SE 问题,了解有关分布式存储和分布式处理的详细说明。
是的,无论是否安装了 Hadoop,Spark 都可以 运行 有关详细信息,您可以访问 -https://spark.apache.org/docs/latest/
是的,spark 可以 运行 没有 Hadoop。您可以在没有 Hadoop 的情况下在本地机器上安装 spark。但是 Spark lib 带有 pre Haddop 库,即在本地机器上安装时使用。
您可以 运行 没有 hadoop 的 spark,但 spark 依赖于 hadoop win-utils。所以有些功能可能不起作用,如果你想从 spark 读取配置单元表,那么你需要 hadoop。
英语不好,见谅!
TL;DR
在没有 Hadoop 的情况下使用本地(单节点)或独立(集群)运行 spark,但是仍然 需要 hadoop 依赖项来进行日志记录和一些文件处理。
Windows 强烈不推荐 到 运行 火花!
本地模式
spark有很多运行ning模式,其中一种叫做local will 运行ning without hadoop dependencies
所以,这是第一个问题:如何告诉 spark 我们想要 运行 在本地模式下?
看完这个 official doc,我就在我的 linux os:
上试一试
- 必须安装java和scala,不是核心内容所以跳过。
- 下载spark包
有“without hadoop”和“hadoop integrated”2种封装
most 重要的是“没有 hadoop”并不意味着 运行 没有 hadoop 但只是不与 hadoop 捆绑在一起所以你可以将它与你的自定义 hadoop 捆绑在一起!
Spark 可以 运行 没有 hadoop(HDFS 和 YARN)但是需要 hadoop 依赖 jar 例如 parquet/avro 等 SerDe class,所以 强烈推荐 使用“集成”包(你会发现缺少一些日志依赖项,如 log4j 和 slfj 以及其他常用工具 class if chose “without hadoop” 包,但所有这些都与 hadoop 集成包捆绑在一起)!
- 运行 本地模式
Most简单的方法就是运行 shell,然后你会看到欢迎日志
# as same as ./bin/spark-shell --master local[*]
./bin/spark-shell
独立模式
同blew,但与步骤3不同
# Starup cluster
# if you want run on frontend
# export SPARK_NO_DAEMONIZE=true
./sbin/start-master.sh
# run this on your every worker
./sbin/start-worker.sh spark://VMS110109:7077
# Submit job or just shell
./bin/spark-shell spark://VMS110109:7077
在 windows?
我认识很多人 运行 windows 上的 spark 只是为了学习,但是 windows 和 如此不同强烈不推荐 使用 windows.
most 重要的事情是从 here 下载 winutils.exe
并配置系统变量 HADOOP_HOME 指向 winutils
所在的位置。
At this moment 3.2.1 is the most latest release version of spark,but a bug is exist.You will got a exception like Illegal character in path at index 32: spark://xxxxxx:63293/D:\classe
when run ./bin/spark-shell.cmd
,only startup a standalone cluster then use ./bin/sparkshell.cmd
or use lower version can temporary fix this.
For more detail and solution you can refer for here
Spark和Hadoop[=之间是否存在依赖关系24=]?
如果没有,当我 运行 Spark 没有 时,我会错过什么功能吗? Hadoop?
是的,spark 可以 运行 没有 hadoop。所有核心 spark 功能都将继续工作,但您会错过一些事情,例如通过 hdfs 轻松地将所有文件(代码和数据)分发到集群中的所有节点等。
Spark 可以 运行 没有 Hadoop,但它的一些功能依赖于 Hadoop 的代码(例如处理 Parquet 文件)。我们在 Mesos 和 S3 上 运行ning Spark,设置起来有点棘手,但完成后效果非常好(您可以阅读正确设置所需内容的摘要 here)。
(编辑)注意:从 2.3.0 版开始,Spark 还添加了对 Kubernetes 的原生支持
默认情况下,Spark 没有存储机制。
要存储数据,需要快速且可扩展的文件系统。您可以使用 S3 或 HDFS 或任何其他文件系统。由于成本低,Hadoop 是经济的选择。
此外,如果您使用 Tachyon,它将提高 Hadoop 的性能。强烈推荐 Hadoop 用于 apache spark 处理。
根据 Spark 文档,Spark 可以 运行 没有 Hadoop。
您可以运行将其作为没有任何资源管理器的独立模式。
但是如果你想在多节点设置中运行,你需要一个资源管理器比如 YARN 或 Mesos和分布式文件系统,如 HDFS、S3 等
当然可以。 Spark 是一个独立的计算框架。 Hadoop是一个分布式存储系统(HDFS),具有MapReduce计算框架。 Spark可以从HDFS获取数据,也可以从传统数据库(JDBC)、kafka甚至本地磁盘等任何其他数据源获取数据。
没有。它需要完整的 Hadoop 安装才能开始工作 - https://issues.apache.org/jira/browse/SPARK-10944
是的,您可以在没有 Hadoop 的情况下安装 Spark。 那会有点棘手 您可以参考 arnon link 使用 parquet 在 S3 上配置为数据存储。 http://arnon.me/2015/08/spark-parquet-s3/
Spark 只做处理,它使用动态内存来执行任务,但要存储数据,您需要一些数据存储系统。这里 hadoop 与 Spark 一起发挥作用,它为 Spark 提供存储。 将 Hadoop 与 Spark 一起使用的另一个原因是它们是开源的,并且与其他数据存储系统相比,两者可以轻松地相互集成。对于像 S3 这样的其他存储,你应该像上面提到的那样配置它 link.
但是 Hadoop 也有它的处理单元,叫做 Mapreduce。
想知道两者的区别吗?
查看这篇文章:https://www.dezyre.com/article/hadoop-mapreduce-vs-apache-spark-who-wins-the-battle/83
我想这篇文章会帮助你理解
用什么,
何时使用和
如何使用!!!
Spark 是一个 in-memory 分布式计算引擎。
Hadoop是分布式存储(HDFS)和分布式处理(YARN的框架).
Spark 可以 运行 使用或不使用 Hadoop 组件 (HDFS/YARN)
分布式存储:
由于Spark没有自己的分布式存储系统,所以不得不依赖其中一个存储系统进行分布式计算。
S3 – Non-urgent 批处理作业。当数据局部性不重要时,S3 适合非常具体的用例。
Cassandra – 非常适合流数据分析和批处理作业。
HDFS – 非常适合批处理作业而不影响数据局部性。
分布式处理:
您可以 运行 三种不同模式的 Spark:独立、YARN 和 Mesos
查看下面的 SE 问题,了解有关分布式存储和分布式处理的详细说明。
是的,无论是否安装了 Hadoop,Spark 都可以 运行 有关详细信息,您可以访问 -https://spark.apache.org/docs/latest/
是的,spark 可以 运行 没有 Hadoop。您可以在没有 Hadoop 的情况下在本地机器上安装 spark。但是 Spark lib 带有 pre Haddop 库,即在本地机器上安装时使用。
您可以 运行 没有 hadoop 的 spark,但 spark 依赖于 hadoop win-utils。所以有些功能可能不起作用,如果你想从 spark 读取配置单元表,那么你需要 hadoop。
英语不好,见谅!
TL;DR
在没有 Hadoop 的情况下使用本地(单节点)或独立(集群)运行 spark,但是仍然 需要 hadoop 依赖项来进行日志记录和一些文件处理。
Windows 强烈不推荐 到 运行 火花!
本地模式
spark有很多运行ning模式,其中一种叫做local will 运行ning without hadoop dependencies
所以,这是第一个问题:如何告诉 spark 我们想要 运行 在本地模式下?
看完这个 official doc,我就在我的 linux os:
- 必须安装java和scala,不是核心内容所以跳过。
- 下载spark包
有“without hadoop”和“hadoop integrated”2种封装
most 重要的是“没有 hadoop”并不意味着 运行 没有 hadoop 但只是不与 hadoop 捆绑在一起所以你可以将它与你的自定义 hadoop 捆绑在一起!
Spark 可以 运行 没有 hadoop(HDFS 和 YARN)但是需要 hadoop 依赖 jar 例如 parquet/avro 等 SerDe class,所以 强烈推荐 使用“集成”包(你会发现缺少一些日志依赖项,如 log4j 和 slfj 以及其他常用工具 class if chose “without hadoop” 包,但所有这些都与 hadoop 集成包捆绑在一起)! - 运行 本地模式
Most简单的方法就是运行 shell,然后你会看到欢迎日志
# as same as ./bin/spark-shell --master local[*]
./bin/spark-shell
独立模式
同blew,但与步骤3不同
# Starup cluster
# if you want run on frontend
# export SPARK_NO_DAEMONIZE=true
./sbin/start-master.sh
# run this on your every worker
./sbin/start-worker.sh spark://VMS110109:7077
# Submit job or just shell
./bin/spark-shell spark://VMS110109:7077
在 windows?
我认识很多人 运行 windows 上的 spark 只是为了学习,但是 windows 和 如此不同强烈不推荐 使用 windows.
most 重要的事情是从 here 下载 winutils.exe
并配置系统变量 HADOOP_HOME 指向 winutils
所在的位置。
At this moment 3.2.1 is the most latest release version of spark,but a bug is exist.You will got a exception like
Illegal character in path at index 32: spark://xxxxxx:63293/D:\classe
when run./bin/spark-shell.cmd
,only startup a standalone cluster then use./bin/sparkshell.cmd
or use lower version can temporary fix this. For more detail and solution you can refer for here