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

Spark 3.2.0环境spark-shell正常运行但PySpark初始化失败求解决方案

报错的核心原因为 Spark 3.2.0 与 Java 17 版本不兼容,Spark 3.2.x 版本官方仅支持 Java 8/11,Java 17 新增的强反射访问限制会导致org.apache.spark.storage.StorageUtils类初始化失败,触发你日志中显示的NoClassDefFoundError报错。
你本地spark-shell可正常运行、PySpark报错的差异,是因为spark-shell启动时默认加载的JVM参数包含了Java高版本兼容配置,而PySpark启动流程未继承对应配置。

解决方案

方案一:降级Java版本(推荐,稳定性最高)

  • 卸载本地Java 17,安装Java 8或Java 11版本
  • 修改系统环境变量JAVA_HOME,指向新安装的Java 8/11的根路径
  • 重启终端后重新执行pyspark验证即可

方案二:临时兼容Java 17(无需降级,仅适用于本地测试)

Windows环境下,在启动PySpark的终端中先执行以下命令设置JVM参数:

set SPARK_DRIVER_JAVA_OPTS=--add-exports java.base/sun.nio.ch=ALL-UNNAMED --add-exports java.base/java.lang=ALL-UNNAMED --add-exports java.base/java.util=ALL-UNNAMED --add-exports java.base/java.nio=ALL-UNNAMED --add-exports java.base/sun.util.calendar=ALL-UNNAMED

执行完成后在同一终端窗口运行pyspark即可正常启动。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 04:45:03