Win10下PySpark初始化SparkSession出现FileNotFoundError求助
PySpark初始化SparkSession时FileNotFoundError的解决方法
环境信息
- Win10 操作系统
- Python 3.9.7
- Spark 版本:3.1.2-bin-hadoop2.7
问题描述
安装PySpark后,执行初始化SparkSession的代码时触发FileNotFoundError:
import pyspark from pyspark.sql import SparkSession spark = SparkSession.builder.appName('SparkByExamples.com').getOrCreate()
报错核心内容:
FileNotFoundError: [WinError 2] The system cannot find the file specified
切换至其他Anaconda环境重复操作,问题依然存在。
排查结果
执行代码检查环境变量:
import os print(os.environ.get("SPARK_HOME")) print(os.path.join(os.environ.get("SPARK_HOME"), './bin/spark-submit.cmd'))
输出结果:
C:\Spark\spark-3.1.2-bin-hadoop2.7 C:\Spark\spark-3.1.2-bin-hadoop2.7./bin/spark-submit.cmd
解决步骤
1. 修正SPARK_HOME路径格式
从排查结果可见,路径拼接出现格式错误(末尾的./导致路径无效),需确保:
SPARK_HOME环境变量的值末尾无多余斜杠或符号,正确路径为C:\Spark\spark-3.1.2-bin-hadoop2.7- 确认文件系统中
C:\Spark\spark-3.1.2-bin-hadoop2.7\bin\spark-submit.cmd文件真实存在
2. 配置Java运行环境
PySpark依赖Java环境,Spark 3.1.x适配Java 8或Java 11:
- 安装对应版本的Java(建议选择无空格的安装路径)
- 添加
JAVA_HOME环境变量,指向Java安装根目录(例如C:\Java\jdk1.8.0_301) - 将
%JAVA_HOME%\bin添加到系统Path环境变量中
3. 验证环境配置有效性
配置完成后重启终端或IDE:
- 执行
echo %SPARK_HOME%和echo %JAVA_HOME%,确认环境变量正确加载 - 执行
spark-submit --version,若能正常输出Spark版本信息,说明环境配置正确
4. 代码中手动指定环境变量(可选)
若环境变量全局配置无效,可在代码中手动指定路径:
import pyspark from pyspark.sql import SparkSession import os # 替换为你的实际路径 os.environ["SPARK_HOME"] = "C:\Spark\spark-3.1.2-bin-hadoop2.7" os.environ["JAVA_HOME"] = "C:\Java\jdk1.8.0_301" spark = SparkSession.builder.appName('SparkByExamples.com').getOrCreate()
内容的提问来源于stack exchange,提问作者Jay Wang
相关产品推荐
相关产品推荐

