配置参数后运行AWS Glue Job仍遇pyathena模块找不到错误
解决AWS Glue Job中pyathena模块找不到的问题
检查Glue版本兼容性
- 确认使用的Glue版本支持
--additional-python-modules参数:该参数仅在Glue 2.0及以上版本可用,若为Glue 1.0,需改用自定义安装脚本,在作业脚本开头添加:import sys import subprocess subprocess.check_call([sys.executable, "-m", "pip", "install", "pyathena==2.23.0", "-t", "/tmp/"]) sys.path.insert(0, "/tmp/")
修正参数配置格式
- 仅保留官方支持的
--additional-python-modules参数,删除无效的--pip-install参数,指定版本的正确格式为:--additional-python-modules pyathena==2.23.0 - 若需安装多个模块,用逗号分隔,避免多余空格。
排查网络与权限问题
- 如果Glue Job运行在VPC内,需配置NAT网关或PyPI对应的S3 VPC端点,确保能访问PyPI源。
- 检查Glue执行角色权限:需允许访问S3(存储临时模块)和CloudWatch日志(查看安装日志)。
查看安装日志定位问题
- 前往CloudWatch找到该Job的日志流,搜索
pip或pyathena相关记录,确认模块是否成功安装,排查网络超时、依赖缺失等具体失败原因。
手动打包依赖到S3
- 若上述方法无效,可本地打包依赖后上传至S3:
- 在与Glue Job同版本的Python环境中,执行
pip install pyathena==2.23.0 -t ./dependencies - 将
dependencies目录打包为zip:zip -r pyathena_deps.zip dependencies/ - 上传zip到S3桶,在Glue Job配置中添加参数:
--extra-py-files s3://你的桶路径/pyathena_deps.zip
- 在与Glue Job同版本的Python环境中,执行
内容的提问来源于stack exchange,提问作者ChrisDanger
相关产品推荐
相关产品推荐

