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

在SparkMagic+AWS Glue端点的Jupyter中导入自定义Python模块遇阻

解决AWS Glue端点Jupyter Notebook中自定义Python模块导入失败问题(依赖gluepython3)

问题核心

通过SSH连接AWS Glue端点的Jupyter Notebook,使用SparkMagic运行ETL时,自定义模块导入失败,原因是Notebook默认使用系统/usr/bin/python3,而非Glue专用的/usr/bin/gluepython3,且之前的配置方法(SparkMagic单参数配置、shell别名、.bashrc修改)均未生效。

可行解决方案

方案1:修改SparkMagic内核的Python解释器

Jupyter内核本身使用的是系统Python,需直接修改内核配置指定gluepython3:

  1. SSH登录Glue端点,找到SparkMagic内核的配置目录(通常为/home/glue_user/.ipython/kernels/sparkkernel/)
  2. 编辑kernel.json文件,将argv数组中的第一个参数(原Python路径)替换为/usr/bin/gluepython3:
    {
      "argv": [
        "/usr/bin/gluepython3",
        "-m",
        "ipykernel",
        "-f",
        "{connection_file}"
      ],
      "display_name": "Spark",
      "language": "python"
    }
    
  3. 重启端点上的Jupyter服务(例如sudo systemctl restart jupyter,根据实际服务名调整)

方案2:同时配置Spark驱动端与执行端的Python解释器

之前仅配置了执行端参数,需补充驱动端配置,确保整个Spark上下文都使用gluepython3:
在Notebook中执行以下配置块(需在创建SparkContext前运行):

%%configure -f
{
    "conf": {
        "spark.pyspark.python": "/usr/bin/gluepython3",
        "spark.pyspark.driver.python": "/usr/bin/gluepython3"
    }
}

配置完成后,重启SparkContext(可通过重启Notebook内核实现),再验证sys.executable路径。

方案3:设置全局环境变量让Jupyter加载

Shell别名和.bashrc修改仅对交互式shell生效,需通过全局环境变量让Jupyter进程继承:

  1. 在Glue端点上创建或编辑/etc/profile.d/glue_python.sh文件:
    export PYSPARK_PYTHON=/usr/bin/gluepython3
    export PYSPARK_DRIVER_PYTHON=/usr/bin/gluepython3
    
  2. 执行source /etc/profile.d/glue_python.sh使配置立即生效
  3. 重启Jupyter服务,确保新的环境变量被加载

验证步骤

配置完成后,在Notebook中运行以下代码确认解释器路径:

import sys
print(sys.executable)

若输出为/usr/bin/gluepython3,即可尝试导入自定义模块:

from test.base.text import DataFields

原方法无效原因说明

  • alias仅为shell层面的命令别名,Jupyter内核进程不会继承shell别名配置
  • 仅设置spark.pyspark.python仅作用于Spark执行节点,驱动端(Notebook本地的SparkContext)仍使用系统Python
  • .bashrc的修改仅对交互式登录shell生效,Jupyter作为后台服务启动时不会加载用户的.bashrc

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 00:30:06