我刚刚下载了spark-2.3.0-bin-hadoop2.7.tgz。下载后我按照这里提到的步骤pyspark installation for windows 10。我使用注释bin \ pyspark来运行spark&收到错误消息
The system cannot find the path specified
的屏幕截图
我的路径变量的屏幕截图看起来像
我有python 3.6&我的Windows 10系统中的Java“1.8.0_151” 你能建议我如何解决这个问题吗?
答案 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)
答案 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\bin
至C:\spark\spark-3.0.1-bin-hadoop2.7\
)。
Windows命令提示符上的错误使它看起来好像无法识别“ pyspark”,而真正的问题在于它无法找到文件“ load-spark-env.sh”。