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

PySpark调用df.show()触发Py4JJavaError报错求助

PySpark df.show() 报错:Python worker exited unexpectedly (crashed)

问题概述

代码中SparkSession初始化、DataFrame创建均正常,仅调用df.show()时抛出Py4JJavaError,核心错误为Python worker exited unexpectedly (crashed),并伴随java.io.EOFException。环境配置为Python 3.10/3.12、PySpark 3.4.3、Java 11,已配置系统环境变量。

解决方案

  • 验证Python版本兼容性
    PySpark 3.4.3对Python 3.12的支持存在已知适配问题,建议切换至Python 3.10或3.11版本,重新安装PySpark后测试。

  • 显式指定Python解释器路径
    Spark可能无法自动识别正确的Python解释器,在SparkSession初始化时添加配置指定绝对路径:

    spark = (
        SparkSession.builder.appName("Spark Introduction")
        .master("local[*]")
        .config("spark.network.timeout", "800s")
        .config("spark.executor.heartbeatInterval", "60s")
        .config("spark.pyspark.python", "C:\\Users\\Bharti\\AppData\\Local\\Programs\\Python\\Python310\\python.exe")
        .config("spark.pyspark.driver.python", "C:\\Users\\Bharti\\AppData\\Local\\Programs\\Python\\Python310\\python.exe")
        .getOrCreate()
    )
    

    替换路径为你实际使用的Python解释器绝对路径。

  • 清理并重装PySpark

    1. 卸载当前PySpark:
      pip uninstall -y pyspark
      
    2. 删除Python site-packages目录下的pyspark文件夹,以及用户目录下的.spark/.pyspark缓存目录(若存在)。
    3. 重新安装指定版本:
      pip install pyspark==3.4.3
      
  • 确认Java环境配置
    检查JAVA_HOME环境变量是否指向Java 11的正确路径,且PATH包含%JAVA_HOME%\bin。执行以下命令验证版本:

    java -version
    

    确保输出为Java 11版本,避免多版本Java冲突。

  • 延长Python Worker超时时间
    在SparkSession配置中添加超时设置,避免因环境加载缓慢导致worker崩溃:

    .config("spark.python.worker.timeout", "300")
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 14:20:25