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

在VS Code中运行PySpark Notebook时遭遇Py4JJavaError错误

在VS Code中运行PySpark Notebook时遭遇Py4JJavaError错误

嘿,我注意到你在VS Code里搭配Miniforge运行PySpark Notebook时碰到了麻烦,先帮你理一理目前的环境配置,再给你几个实用的排查和解决方向:

你的现有环境配置

  • VS Code
  • Java 8 + Java SDK 11
  • Spark 3.4.4 安装在c:/spark,并在c:/hadoop/bin目录下添加了winutil和hadoop dll文件
  • Python 3.11.0
  • 最新版本的Miniforge

针对性解决建议

从你给出的代码片段(import sys import requests import json from pyspark.sql import SparkSes,应该是没写完的SparkSession)来看,大概率是环境配置或者版本兼容的问题,你可以按下面的步骤逐一排查:

  1. 统一Java环境并检查环境变量
    Spark对Java版本的兼容性要求比较严格,建议你统一使用一个Java版本(比如Java 8或者11,不要同时混用两个版本的环境变量):

    • 把JAVA_HOME指向你要使用的Java安装目录,并且添加到系统PATH中
    • 确认SPARK_HOME设置为c:/spark,HADOOP_HOME设置为c:/hadoop,这两个路径也要加入系统PATH
    • 验证方式:打开VS Code的终端(用Miniforge的终端),输入echo %JAVA_HOME%、echo %SPARK_HOME%、echo %HADOOP_HOME%,确保输出的路径正确无误
  2. 匹配Winutils与Spark依赖的Hadoop版本
    你下载的winutil和hadoop dll文件版本必须和Spark默认依赖的Hadoop版本对应!Spark 3.4.4默认依赖的是Hadoop 3.3.4,如果你用的是其他版本的winutils,很容易触发Py4JJavaError。赶紧检查下文件版本,换成对应3.3.4的版本试试。

  3. 确保Miniforge环境中PySpark版本与本地Spark一致
    在Miniforge的Python环境里,一定要安装和你本地Spark 3.4.4同版本的PySpark,避免版本不兼容:

    • 打开Miniforge终端,执行pip install pyspark==3.4.4
    • 执行pip list | findstr pyspark确认安装的版本正确
  4. 正确初始化SparkSession
    你的代码开头没写完,正确的SparkSession初始化代码应该是这样的:

    import sys
    import requests
    import json
    from pyspark.sql import SparkSession
    
    spark = SparkSession.builder \
        .master("local[*]") \
        .appName("YourNotebookApp") \
        .getOrCreate()
    

    另外要确认VS Code的Notebook内核选的是Miniforge的Python环境,别不小心用了系统默认的Python解释器。

  5. 确保终端环境一致
    运行Notebook前,先在VS Code的终端里激活你的Miniforge环境(比如conda activate base,如果是自定义环境就换成对应的名称),再启动Notebook,这样能保证环境变量和依赖都加载正确。

备注:内容来源于stack exchange,提问作者lecarusin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.13 16:53:12