AWS Glue无法识别--extra-py-files引入的Python库变量问题求助
你遇到的报错是因为通过--extra-py-files传入的Python文件只会被同步到作业运行环境的Python搜索路径中,不会自动将文件内的变量注入当前脚本的命名空间,你需要手动导入模块后才能使用内部定义的变量。
具体操作步骤
1. 在作业脚本开头添加导入语句
你可以选择两种导入方式:
- 导入整个模块后通过模块名调用变量:
import paramFile print("x:", paramFile.x) print("y:", paramFile.y)
- 直接导入指定变量到当前命名空间:
from paramFile import x, y print("x:", x) print("y:", y)
2. 无需添加__init__.py文件
单个独立的.py模块文件不需要配套__init__.py就可以直接被导入,这一点符合AWS官方文档的说明,你没有添加该文件不会导致报错。
3. 异常排查项
如果导入后仍然报错,可检查以下配置:
--extra-py-files参数对应的S3路径无拼写错误,Glue作业关联的IAM角色拥有该路径的s3:GetObject权限paramFile.py文件名和导入时的模块名完全一致,注意Glue运行环境为Linux系统,文件名大小写敏感- 单个
.py文件无需压缩为zip包,直接传入S3路径即可正常识别
内容的提问来源于stack exchange,提问作者iamaj
相关产品推荐
相关产品推荐

