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

Windows系统PySpark报错:NameError与Java Gateway异常求助

Windows环境下PySpark报错解决方案

一、解决NameError: name 'spark' is not defined

你未初始化SparkSession实例就直接调用spark变量,需先创建SparkSession核心对象:

import pyspark 
from pyspark.sql import SparkSession
from pyspark.sql import DataFrame
from pyspark.context import SparkContext

# 初始化SparkSession
spark = SparkSession.builder \
    .appName("YourAppName") \
    .getOrCreate()

# 执行数据读取操作
df = spark.read.format('db').load()

二、解决PySparkRuntimeError: [JAVA_GATEWAY_EXITED]

该错误由Windows环境下Java配置异常导致,按以下步骤排查修复:

  • 安装兼容版本Java:PySpark 3.x适配Java 8/11,PySpark 2.x仅适配Java 8,禁止使用Java 12及以上版本
  • 配置系统环境变量:
    • 新建JAVA_HOME变量,值为Java安装根目录(例如C:\Program Files\Java\jdk1.8.0_391)
    • 将%JAVA_HOME%\bin添加到系统PATH变量最前端
  • 验证Java环境:打开命令提示符,执行java -version和javac -version,确认能正常输出版本信息
  • 重启终端/IDE:修改环境变量后必须重启才能生效
  • 手动指定Java路径(若上述步骤无效):
    在初始化SparkSession时添加Java路径配置:
    spark = SparkSession.builder \
        .appName("YourAppName") \
        .config("spark.driver.extraJavaOptions", "-Djava.home=C:/Program Files/Java/jdk1.8.0_391") \
        .getOrCreate()
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 13:47:09