首页 文章

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

提问于
浏览
4

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

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
我的Windows 10系统中有python 3.6和Java "1.8.0_151"你能建议我如何解决这个问题吗?

6 回答

  • 1

    在这上面工作了几个小时 . 我的问题是Java 10安装 . 我卸载它并安装了Java 8,现在Pyspark正常工作 .

  • 0

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

  • 1

    很可能您忘记定义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中指定的问题,在这种情况下,此问题是重复的 .

  • 0

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

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

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

    这可能很愚蠢,但改变下面显示的最后一段代码会将您从 pyspark 得到的错误消息从"The system cannot find the path specified"更改为"The syntax of the command is incorrect" . 删除整个块使 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%
    

    我删除了“del%LAUNCHER_OUTPUT%”并看到生成的文本文件仍为空 . 事实证明“%RUNNER%”无法使用java.exe找到正确的目录,因为我搞砸了PATH到Java(而不是Spark) .

  • 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编辑了它以试图让自己工作,这使我在这里 .

  • 0

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

相关问题