如何排除故障'pyspark'无法识别...视窗上的错误?



在我的Windows 10机器上安装Spark(pyspark(已经两周了,现在我意识到我需要你的帮助。

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

问题

"pypark"未被识别为内部或外部命令,可操作程序或批处理文件。

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

我的操作

我试过很多教程,但我发现最好的是迈克尔·加拉尼克的教程。我一步一步地遵循他的教程:

  • 已安装Java
  • 安装的蟒蛇
  • 从官方网站下载了Spark 2.3.1(我相应地更改了命令,因为Michael的教程使用了不同的版本(。我在cmd提示符中按照教程移动了它:

    mv C:UserspatriDownloadsspark-2.3.1-bin-hadoop2.7.tgz C:optsparkspark-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:optsparkspark-2.3.1-bin-hadoop2.7
    setx HADOOP_HOME C:optsparkspark-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添加到我的路径变量中。我的环境用户变量现在如下所示:当前环境变量

这些操作本应达到目的,但当我运行pyspark --master local[2]时,我仍然会收到上面的错误。你能用上面的信息来追踪这个错误吗?

支票

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

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

我通过将变量设置为"系统变量"而不是"用户变量"来解决此问题。票据

  1. 在我的情况下,从命令行设置变量会导致"用户变量",因此我必须使用高级设置GUI将值输入为"系统变量">
  2. 您可能想排除任何安装问题,在这种情况下,请尝试cd到C:\opt\spark\spark-2.3.1-bin-hadoop2.7\bin并运行pyspark master local[2](确保winutils.exe在那里(;如果这不起作用,那么除了env变量之外还有其他问题

按照我博客中解释的给定步骤将解决您的问题-

如何在Windows上设置PySparkhttps://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 FilesJavajdk1.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

最新更新