火花 Windows - "The system cannot find the path specified."

Spark on Windows - "The system cannot find the path specified."

从我目前所做的研究来看,这似乎是尝试在 Windows 上使用 Spark 的常见问题,并且通常与 PATH 设置不正确有关。 然而,我已经三次检查了 PATH,并尝试了我在网上遇到的许多解决方案,但我仍然无法弄清楚是什么导致了问题。

  1. 尝试从 Windows 7(64 位)returns The system cannot find the path specified 中的命令提示符 运行 spark-shell

  2. 但是我可以从 spark-shell.exe 所在的目录中 运行 相同的命令(尽管有一些错误),这让我相信这是一个 PATH 问题,就像互联网上关于此问题的大多数其他帖子一样。然而...

    Spark-shell 从目录调用时工作:

    Shell 似乎有效:

  3. 据我所知,我的 PATH 似乎设置正确。我遇到的这个问题的大多数解决方案都涉及修复 %JAVA_HOME% 系统变量以指向正确的位置,并将 '%JAVA_HOME%/bin' 添加到 PATH(以及包含 'spark-shell.exe' 的目录),但是我的 JAVA_HOME 变量和 PATH 变量似乎都包含所需的目录。

原来这个问题是由我电脑上以前安装的 Spark 版本引起的。当我尝试安装独立的 Spark 客户端时,PySpark 已经通过 "pip install PySpark" 安装,并且安装了两个 Spark 实例,运行 "spark-shell" 在引用这两个位置时产生了冲突。

因此,即使 PATH 设置正确,"spark-shell" 引用了以前的 PySpark 安装和独立的 Spark 安装这一事实也造成了问题。

我注意到当我从命令行 运行 "pyspark" 时,它返回了两个 "The system could not find the path specified." 错误实例。这让我相信 pyspark/spark 已安装在两个位置,并且在我调用 "spark-shell".

时可能会导致解析 PATH 的问题

我 运行 "pip uninstall pyspark",然后当我从命令行重新尝试 "spark-shell" 时,它按预期工作了!