【问题标题】:Can PySpark work without Spark?PySpark 可以在没有 Spark 的情况下工作吗?
【发布时间】:2019-01-14 15:01:51
【问题描述】:

我已经使用

独立/本地(在 Windows 上)安装了 PySpark
pip install pyspark

我有点惊讶我已经可以在命令行中运行 pyspark 或在 Jupyter Notebooks 中使用它,而且它不需要正确的 Spark 安装(例如,我不必执行本教程中的大部分步骤 @ 987654321@)。

我遇到的大多数教程都说需要“在安装 PySpark 之前安装 Spark”。这与我认为 PySpark 基本上是 Spark 的包装器的观点一致。但也许我在这里错了 - 有人可以解释一下:

  • 这两种技术之间的确切联系是什么?
  • 为什么安装 PySpark 足以让它运行?它是否真的在引擎盖下安装了 Spark?如果有,在哪里?
  • 如果您只安装 PySpark,是否有遗漏(例如,我找不到包含例如启动历史服务器的脚本的 sbin 文件夹)

【问题讨论】:

  • pyspark 包是 Spark 安装,尽管您可能需要单独安装 Java。

标签: apache-spark pyspark


【解决方案1】:

As of v2.2,执行pip install pyspark会安装Spark。

如果您要使用 Pyspark,这显然是最简单的入门方式。

在我的系统上,Spark 安装在我的虚拟环境 (miniconda) 中 lib/python3.6/site-packages/pyspark/jars

【讨论】:

  • 谢谢柯克。这些罐子基本上是“整个 Spark”吗?还是在安装 pyspark 时遗漏了其他东西(例如 sbin 文件夹中的东西)?
  • 不,这是 Spark,您可以运行 scala shell (spark-shell) 并提交 jars 以供执行 (spark-submit)。当然,它是独立配置中的单个节点——如果你想扩展,你需要配置一个集群。
  • @KirkBroadhurst 这没有回答@Ferrard 评论中的问题。 miniconda 环境中的 Spark 目录缺少 sbin 子目录。
  • conda install pypark 是否也安装了 spark,还是我应该使用 pip
  • @dashnick 是的,conda 也可以安装它。但请注意,Conda 的 PySpark 不一定与 PySpark 发布周期同步,因为它由社区单独维护。
【解决方案2】:

pip 安装的 PySpark 是完整 Spark 的子文件夹。你可以在spark-3.0.0-bin-hadoop3.2/python/pyspark 中找到大部分 PySpark python 文件。所以如果你想使用java或scala接口,并使用hadoop部署分布式系统,你必须从Apache Spark下载完整的Spark并安装它。

【讨论】:

    【解决方案3】:

    PySpark 已安装 Spark。如果通过 pip3 安装,可以使用pip3 show pyspark 找到它。前任。对我来说是~/.local/lib/python3.8/site-packages/pyspark

    这是一个standalone configuration,因此它不能像完整的 Spark 安装那样用于管理集群。

    【讨论】:

      猜你喜欢
      • 2014-08-22
      • 1970-01-01
      • 1970-01-01
      • 2018-07-15
      • 1970-01-01
      • 2015-11-08
      • 2019-03-27
      • 2017-07-23
      • 1970-01-01
      相关资源
      最近更新 更多