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

配置Spark至Jupyter Notebook后代码运行无响应,求解决方案

问题分析与解决方案

从你的配置步骤和代码表现来看,核心问题集中在Windows环境与Linux路径配置冲突、Hadoop依赖缺失这两点,以下是针对性的解决步骤:

1. 修正SPARK_HOME路径配置

你在bashrc.sh中设置的export SPARK_HOME=/opt/spark是Linux/WSL下的路径,但你是在Windows本地的Anaconda环境中运行PySpark,两者环境完全独立,这个配置对Windows本地的Jupyter无效。

  • 打开Windows「系统属性-环境变量」,确认SPARK_HOME指向你在Windows本地解压的Spark文件夹(比如C:\spark-3.5.0-bin-hadoop3),而非Linux路径。
  • 无需修改WSL的bashrc.sh,直接在Windows环境变量中配置即可,配置完成后必须重启Anaconda Prompt和Jupyter Notebook,确保环境变量生效。

2. 补全Windows下Hadoop依赖

Spark在Windows运行依赖winutils.exe,如果你的HADOOP_HOME目录下没有这个文件,会导致Spark初始化缓慢甚至卡死:

  • 下载对应Hadoop版本的winutils.exe(需匹配你Spark配套的Hadoop版本),放到HADOOP_HOME\bin目录下。
  • 确认HADOOP_HOME环境变量指向包含bin/winutils.exe的文件夹,同时将%HADOOP_HOME%\bin添加到系统Path中。

3. 优化SparkSession初始化与文件路径

在代码中显式指定Spark运行模式为本地模式,避免默认逻辑尝试连接集群;同时优化文件路径写法:

from pyspark.sql import SparkSession
from pyspark.sql.functions import input_file_name

# 显式指定local模式,使用所有可用核心
spark = SparkSession.builder \
    .appName("SampleDataExample") \
    .master("local[*]") \
    .getOrCreate()

# 使用原始字符串避免转义问题
folder_path = r"C:\Users\ryan_\Desktop\Coding\Python\CSV Merge All Files into One File\multiple_text_files\*.txt"
df = spark.read.text(folder_path).withColumn("filename", input_file_name())

df.show()

4. 验证环境配置

在Anaconda Prompt中执行以下命令,确认环境变量加载正确:

echo %SPARK_HOME%
echo %HADOOP_HOME%
pyspark --version

如果能正常输出Spark版本信息,说明环境配置已生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 14:02:34