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

Anaconda PyCharm环境初始化Spark Session报Py4JJavaError错误

问题环境说明
  • 操作系统:Windows
  • 开发环境:Anaconda搭配PyCharm,Java环境通过conda install -c cyclus java-jdk命令安装在Anaconda虚拟环境中
  • 版本信息:pyspark 2.4.4,Python 3.10.4,Java版本参考截图:
    Java版本信息截图
问题现象

初始化Spark Session时执行如下代码:

findspark.init()

spark = SparkSession \
    .builder \
    .appName("CustomerChurn") \
    .master("local") \
    .config() \
    .getOrCreate()

触发如下报错:

Py4JJavaError: An error occurred while calling o16.set.
: java.lang.NullPointerException
    at org.apache.spark.SparkConf.set(SparkConf.scala:106)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)
    at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)
    at py4j.Gateway.invoke(Gateway.java:282)
    at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
    at py4j.commands.CallCommand.execute(CallCommand.java:79)
    at py4j.ClientServerConnection.waitForCommands(ClientServerConnection.java:182)
    at py4j.ClientServerConnection.run(ClientServerConnection.java:106)
    at java.lang.Thread.run(Unknown Source)
触发原因

报错直接原因是代码中无参调用了.config()方法。Spark的config()方法要求至少传入配置键、配置值两个有效参数,空参调用时传入底层的参数为null,org.apache.spark.SparkConf.set方法接收到null值后直接抛出空指针异常,和Java环境安装、PySpark版本兼容性无直接关联。

修复方法

根据实际需求二选一即可:

  • 不需要额外自定义Spark配置时,直接删除代码行里的.config()即可,修正后的初始化代码如下:
findspark.init()

spark = SparkSession \
    .builder \
    .appName("CustomerChurn") \
    .master("local") \
    .getOrCreate()
  • 需要自定义Spark配置时,必须在config()内传入合法的键值对参数,例如设置Shuffle分区数的写法为.config("spark.sql.shuffle.partitions", "4"),禁止留空参数调用。

补充提示:pyspark 2.4.4官方适配最高Python版本为3.7,当前使用的Python 3.10版本后续运行可能出现语法兼容、类库调用错误,若后续遇到其他运行异常,可将虚拟环境Python版本降级至3.7,或升级pyspark至3.3.0及以上版本适配Python 3.10。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 08:06:19