python - 如何解决“pyspark”无法识别... Windows 上的错误?
问题描述
我已经尝试在我的 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添加到我的路径变量中。我的环境用户变量现在看起来像这样: 当前环境变量
这些操作应该可以解决问题,但是当我运行时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 在那里);如果这不起作用,那么您还有其他问题,而不仅仅是 env 变量
推荐阅读
- elasticsearch - elasticsearch时间序列数据聚合反向倒计时
- php - TYPO3 9.5.11:没有名为 EXT 的类:ap_docchecklogin(但类存在)
- javascript - HTML自定义输入混合文本和标签
- jquery - 为什么互不执行多个ajax请求?
- java - 使用 parallelStream 进行独立任务?
- sas - SAS - 从单独的服务器访问 SAS 数据集
- substrate - 如何将数据存储在一个块中?
- python - Python3:为什么 3 个进程完成的速度不比 1 个快?
- php - PHP DomDocument - 调用 loadHTML() 时添加了新行符号
- c# - 协变表达式
>