我已经尝试在我的 Windows 10 机器上安装 Spark (pyspark) 两周了,现在我意识到我需要你的帮助。
当我尝试在命令提示符下启动“pyspark”时,我仍然收到以下错误:
问题
'pyspark' is not recognized as an internal or external command, operable program or batch file.
对我来说,这暗示了路径/环境变量的问题,但我找不到问题的根源。
我的操作
我尝试了多个教程,但我发现最好的是 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
请您参考如下方法:
我通过将变量设置为“系统变量”而不是“用户变量”来解决这个问题。 注意
- 在我的例子中,从命令行设置变量导致“用户变量”,所以我不得不使用高级设置 GUI 将值输入为“系统变量”
- 您可能想排除任何安装问题,在这种情况下尝试 cd 到 C:\opt\spark\spark-2.3.1-bin-hadoop2.7\bin 并运行
pyspark master local[2 ](确保 winutils.exe 存在);如果这不起作用,那么您还有其他问题,而不仅仅是环境变量
