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

如何在AWS EMR Notebook中使用pyspark跨笔记本文件导入函数

EMR Notebook跨文件导入自定义Python函数报错排查方案

1. 路径匹配校验

首先在执行导入操作的Notebook中运行如下代码,确认当前工作路径和目标.py文件的位置是否匹配:

import os
# 打印当前工作目录
print(os.getcwd())
# 打印当前工作目录下的所有文件
print(os.listdir())

如果目标.py文件不在输出的文件列表中,可选择两种方案解决:

  • 将目标.py文件移动到当前工作目录下
  • 将目标.py文件所在的目录加入Python搜索路径,示例代码如下:
import sys
# 替换为你的.py文件实际存放的绝对路径
sys.path.append("/home/hadoop/notebooks/my_custom_module/")

路径配置完成后再执行导入操作即可。

2. 命名规范校验

  • 目标.py文件名不能包含中文、空格、特殊符号,也不能和Python内置库(如math、requests、pandas等)重名
  • EMR底层为Linux系统,文件名、函数名大小写敏感,导入语句的大小写必须和实际文件、函数名完全一致
  • 导入语法要和定义匹配:假设目标文件名为my_func.py,内部定义的函数名为process_data,正确导入写法为:
    from my_func import process_data
    # 或者全量导入
    import my_func
    # 调用时写my_func.process_data()
    

3. 内核状态校验

如果是刚刚上传/生成的.py文件,可先重启Notebook内核,再重新执行导入代码,排除缓存未更新导致的导入失败问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 22:45:09