Windows上的“ pyspark”故障排除方法...错误?

时间:2018-07-15 09:20:33

标签: python apache-spark pyspark

这两个星期以来,我一直在尝试在Windows 10计算机上安装Spark(pyspark),现在我意识到我需要您的帮助。

当我尝试在命令提示符下启动“ pyspark”时,仍然收到以下错误:

问题

  

'pyspark'无法识别为内部或外部命令,   可操作的程序或批处理文件。

对我来说,这暗示着路径/环境变量存在问题,但我找不到问题的根源。

我的动作

我尝试了多个教程,但发现的最好的是Michael Galarnyk的教程。我一步一步地遵循了他的教程:

  • 已安装的Java
  • 已安装Anaconda
  • 从官方网站下载了Spark 2.3.1(我更改了命令,因为Michael的教程使用了不同的版本)。我将其移动到与cmd提示中的教程一致的位置:

    mv C:\Users\patri\Downloads\spark-2.3.1-bin-hadoop2.7.tgz C:\opt\spark\spark-2.3.1-bin-hadoop2.7.tgz
    

    然后我将其解锁:

    gzip -d spark-2.3.1-bin-hadoop2.7.tgz
    

    tar xvf spark-2.3.1-bin-hadoop2.7.tar
    
  • Github下载了Hadoop 2.7.1:

    curl -k -L -o winutils.exe https://github.com/steveloughran/winutils/raw/master/hadoop-2.7.1/bin/winutils.exe?raw=true
    
  • 相应地设置我的环境变量:

    setx SPARK_HOME C:\opt\spark\spark-2.3.1-bin-hadoop2.7
    setx HADOOP_HOME C:\opt\spark\spark-2.3.1-bin-hadoop2.7
    setx PYSPARK_DRIVER_PYTHON jupyter
    setx PYSPARK_DRIVER_PYTHON_OPTS notebook
    

    然后将 C:\ opt \ spark \ spark-2.3.1-bin-hadoop2.7 \ bin 添加到我的路径变量中。我的环境用户变量现在看起来像这样: Current Environmental Variables

这些操作应该可以解决问题,但是当我运行pyspark --master local[2]时,仍然会从上面得到错误信息。您可以使用上面的信息来帮助查找此错误吗?

检查

我在命令提示符下进行了两次检查,以验证以下内容:

  • 已安装Java
  • Anaconda已安装
  • pip已安装
  • 已安装Python

2 个答案:

答案 0 :(得分:2)

我通过将变量设置为“系统变量”而不是“用户变量”解决了此问题。 注意

  1. 在我的情况下,在命令行中设置变量会导致“用户变量”,因此我不得不使用“高级设置” GUI输入值作为“系统变量”
  2. 您可能要排除所有安装问题,在这种情况下,请尝试进入C:\ opt \ spark \ spark-2.3.1-bin-hadoop2.7 \ bin并运行pyspark master local[2](确保那里是winutils.exe);如果那行不通,那么除了环境变量之外,您还有其他问题

答案 1 :(得分:0)

按照我的博客中介绍的给定步骤进行操作即可解决您的问题-

如何在Windows上设置PySpark https://beasparky.blogspot.com/2020/05/how-to-setup-pyspark-in-windows.html

设置Spark的环境路径。

Go to "Advanced System Settings" and set below paths
JAVA_HOME="C:\Program Files\Java\jdk1.8.0_181"
HADOOP_HOME="C:\spark-2.4.0-bin-hadoop2.7"
SPARK_HOME="C:\spark-2.4.0-bin-hadoop2.7"
Also, add their bin path into the PATH system variable