PySpark是否可以在没有Spark的情况下工作?

Fer*_*ard 7 apache-spark pyspark

我已经使用以下方法独立/本地(在Windows上)安装了PySpark:

pip install pyspark
Run Code Online (Sandbox Code Playgroud)

我已经可以pyspark在命令行中运行或在Jupyter Notebooks中使用它了,并且它不需要正确的Spark安装(例如,我不必执行本教程中的大多数步骤,https://medium.com / @ GalarnykMichael / install-spark-on-windows-pyspark-4498a5d8d66c)。

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

  • 这两种技术之间的确切联系是什么?
  • 为什么安装PySpark足以使其运行?它实际上在引擎盖下安装了Spark吗?如果是,在哪里?
  • 如果您仅安装PySpark,那么您会错过什么吗(例如,我找不到sbin包含启动历史记录服务器脚本的文件夹)

Kir*_*rst 9

从v2.2开始,执行pip install pyspark将安装Spark。

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

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

  • 谢谢柯克。这些罐子基本上是“整个 Spark”吗?或者在安装 pyspark 时是否还有其他遗漏(例如 sbin 文件夹中的内容)? (3认同)
  • 不,这是Spark,您可以运行scala shell(`spark-shell`)并提交jar以供执行(`spark-submit`)。当然,它是独立配置中的单个节点-如果要扩展,则需要配置集群。 (2认同)

小智 8

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