这两个星期以来,我一直在尝试在Windows 10计算机上安装Spark(pyspark),现在我意识到我需要您的帮助。
当我尝试在命令提示符下启动“ pyspark”时,仍然收到以下错误:
'pyspark'无法识别为内部或外部命令, 可操作的程序或批处理文件。
对我来说,这暗示着路径/环境变量存在问题,但我找不到问题的根源。
我尝试了多个教程,但发现的最好的是Michael Galarnyk的教程。我一步一步地遵循了他的教程:
从官方网站下载了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]
时,仍然会从上面得到错误信息。您可以使用上面的信息来帮助查找此错误吗?
我在命令提示符下进行了两次检查,以验证以下内容:
答案 0 :(得分:2)
我通过将变量设置为“系统变量”而不是“用户变量”解决了此问题。 注意
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