运行pyspark时,系统无法找到指定的路径错误

时间:2018-03-17 19:17:40

标签: apache-spark pyspark

我刚刚下载了spark-2.3.0-bin-hadoop2.7.tgz。下载后我按照这里提到的步骤pyspark installation for windows 10。我使用注释bin \ pyspark来运行spark&收到错误消息

The system cannot find the path specified

附件是错误消息enter image description here

的屏幕截图

附件是我的spark bin文件夹的屏幕截图 enter image description here

我的路径变量的屏幕截图看起来像

enter image description here enter image description here 我有python 3.6&我的Windows 10系统中的Java“1.8.0_151” 你能建议我如何解决这个问题吗?

8 个答案:

答案 0 :(得分:3)

我的问题是JAVA_HOME指向JRE文件夹而不是JDK。确保照顾好你

答案 1 :(得分:1)

在此工作数小时。我的问题是Java 10安装。我卸载它并安装了Java 8,现在Pyspark正常工作。

答案 2 :(得分:1)

实际上,问题出在JAVA_HOME环境变量路径上。 JAVA_HOME路径设置为... / jdk / bin,我删除了最后一个/ bin部分,它对我有用。 谢谢

答案 3 :(得分:0)

您很可能忘记定义Windows环境变量,以便Spark bin目录位于PATH环境变量中。

使用Windows的常用方法定义以下环境变量。

首先将名为SPARK_HOME的环境变量定义为C:\ spark \ spark-2.3.0-bin-hadoop2.7

然后将%SPARK_HOME%\ bin添加到现有的PATH环境变量中,或者如果不存在(不太可能),则将PATH定义为%SPARK_HOME%\ bin

如果没有指定PATH的拼写错误, echo%PATH%应该为您提供Spark bin目录的完全解析路径,即它应该看起来像

C:\spark\spark-2.3.0-bin-hadoop2.7\bin;

如果PATH正确,您应该能够在任何目录中键入pyspark,它应该运行。

如果这不能解决问题,可能问题是pyspark: The system cannot find the path specified中指定的问题,在这种情况下,这个问题是重复的。

答案 4 :(得分:0)

更新:在我的情况下,它走到了JAVA的错误路径,我让它工作......

我遇到了同样的问题。我最初通过pip安装了Spark,并且pyspark成功运行。然后我开始搞乱Anaconda的更新,它再也没有用过。任何帮助将不胜感激......

我假设PATH已正确安装给原作者。检查的方法是从命令提示符运行spark-class。使用正确的PATH,当从任意位置运行时,它将返回Usage: spark-class <class> [<args>]。来自pyspark的错误来自一串.cmd文件,我追溯到spark-class2.cmd中的最后一行

这可能很愚蠢,但改变下面显示的最后一段代码会更改pyspark从&#34获得的错误消息;系统无法找到指定的路径&#34; to&#34;命令的语法不正确&#34;。删除整个块使pyspark不执行任何操作。

rem The launcher library prints the command to be executed in a single line suitable for being
rem executed by the batch interpreter. So read all the output of the launcher into a variable.
set LAUNCHER_OUTPUT=%temp%\spark-class-launcher-output-%RANDOM%.txt
"%RUNNER%" -Xmx128m -cp "%LAUNCH_CLASSPATH%" org.apache.spark.launcher.Main 
%* > %LAUNCHER_OUTPUT%
for /f "tokens=*" %%i in (%LAUNCHER_OUTPUT%) do (
  set SPARK_CMD=%%i
)
del %LAUNCHER_OUTPUT%
%SPARK_CMD%

我删除了&#34; del%LAUNCHER_OUTPUT%&#34;并看到生成的文本文件仍为空。原来&#34;%RUNNER%&#34;找不到使用java.exe的正确目录,因为我搞砸了PATH到Java(而不是Spark)。

答案 5 :(得分:0)

将SPARK_HOME切换为C:\spark\spark-2.3.0-bin-hadoop2.7并将PATH更改为包含%SPARK_HOME%\bin对我来说是成功的秘诀。

最初,我的SPARK_HOME设置为C:\spark\spark-2.3.0-bin-hadoop2.7\bin,而PATH将其引用为%SPARK_HOME%

直接在我的SPARK_HOME目录中运行spark命令是有效的,但是只有一次。在获得最初的成功之后,我然后注意到了您的相同错误,并且echo %SPARK_HOME%展示了C:\spark\spark-2.3.0-bin-hadoop2.7\bin\..,我想也许spark-shell2.cmd已对其进行了编辑以尝试使其正常工作,这使我来到了这里。

答案 6 :(得分:0)

如果将anaconda用于窗口。以下命令可以节省您的时间

conda install -c conda-forge pyspark

在那之后重启anaconda并启动“ jupyter笔记本”

enter image description here

答案 7 :(得分:0)

我知道这是一篇过时的文章,但是我添加了我的发现,以防它对任何人都有帮助。

问题主要是由于pyspark文件中的行source "${SPARK_HOME}"/bin/load-spark-env.sh引起的。如您所见,它在SPARK_HOME中不期望'bin'。我所要做的就是从我的SPARK_HOME环境变量中删除“ bin”,它起作用了(C:\spark\spark-3.0.1-bin-hadoop2.7\binC:\spark\spark-3.0.1-bin-hadoop2.7\)。

Windows命令提示符上的错误使它看起来好像无法识别“ pyspark”,而真正的问题在于它无法找到文件“ load-spark-env.sh”。