You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows系统初始化SparkSession时出错,寻求解决方法

Windows下SparkSession初始化失败的排查方案

已完成的前置配置

  • 安装Java 11并配置JAVA_HOME环境变量
  • 通过Anaconda创建Python 3.10虚拟环境
  • 下载Spark 3.5.1(适配Hadoop 3版本)并配置SPARK_HOME
  • 下载Windows版Hadoop winutils工具并配置HADOOP_HOME

执行代码

from pyspark.sql import SparkSession
print("Packages Imported...")


def load_dataframe(path):
    
    df = spark.read.format("csv") \
        .option("header", True) \
        .load(path)
        
    return df


if __name__ == "__main__":
    print("Running app1.py...")
     
    spark = SparkSession \
        .builder \
        .appName("app1") \
        .master("local[3]") \
        .getOrCreate()
    
    # Print spark version
    print("Spark Version: ", spark.version)
    
    # wines_df = load_dataframe("./data/wine.csv")
    
    # print(type(wines_df))                  
    # print(wines_df.printSchema())  

错误截图

Spark初始化错误

排查与解决步骤

1. 验证环境变量有效性

打开命令提示符,执行以下命令确认路径配置正确:

echo %JAVA_HOME%
echo %SPARK_HOME%
echo %HADOOP_HOME%

同时检查Path环境变量是否包含以下路径:

  • %JAVA_HOME%\bin
  • %SPARK_HOME%\bin
  • %HADOOP_HOME%\bin
    注意:配置环境变量后必须重启命令提示符或IDE,否则新配置不会生效。

2. 匹配winutils与Spark的Hadoop版本

你的Spark是适配Hadoop 3的,需下载对应Hadoop 3.x版本的winutils,将winutils.exe和hadoop.dll放到%HADOOP_HOME%\bin目录下,版本不匹配会直接导致初始化失败。

3. 确认pyspark版本兼容性

在虚拟环境中安装与Spark版本一致的pyspark包:

pip install pyspark==3.5.1

Spark 3.5.x官方支持Python 3.8-3.11,Python 3.10是兼容的,但版本不一致可能引发依赖问题。

4. 检查路径与权限

  • 确保Spark、Hadoop的安装路径无中文或特殊字符(建议用纯英文路径,如D:\spark-3.5.1)
  • 确认运行代码的用户对上述目录有读写权限

5. 调整SparkSession初始化参数

尝试显式指定Hadoop依赖路径,修改初始化代码(需先导入os模块):

import os
spark = SparkSession \
    .builder \
    .appName("app1") \
    .master("local[3]") \
    .config("spark.driver.extraClassPath", f"{os.environ['HADOOP_HOME']}\\share\\hadoop\\common\\*;{os.environ['HADOOP_HOME']}\\share\\hadoop\\mapreduce\\*;{os.environ['HADOOP_HOME']}\\share\\hadoop\\hdfs\\*") \
    .getOrCreate()

6. 查看日志定位问题

Spark日志默认存储在%SPARK_HOME%\logs目录下,日志文件会包含更详细的错误堆栈,可根据具体错误信息精准排查。

内容的提问来源于stack exchange,提问作者RevolverRakk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 01:20:34