导入错误:AWS Glue作业脚本-Python中没有模块

时间:2018-07-06 04:17:12

标签: python amazon-web-services aws-glue

我正在尝试提供我的自定义python代码,该代码需要AWS(pandas)不支持的库。因此,我使用必要的库创建了一个zip文件,并将其上传到S3存储桶。在运行作业时,我在高级属性中指出了S3存储桶的路径。但我的作业仍未成功运行。有人可以建议原因吗? 1.是否需要在zip文件中包含我的代码? 如果是,那么Glue将如何理解它就是代码? 2.另外,我需要创建一个包还是只是zip文件? 感谢帮助!

3 个答案:

答案 0 :(得分:2)

  

根据AWS Glue文档:

     

只能使用纯Python库。依赖C的库   扩展(例如pandas Python数据分析库)不是   还支持。

即使您使用的库具有C扩展的依赖项,我认为即使我们将python库作为zip文件上传也不会起作用。我曾尝试以与您尝试过的相同方式使用Pandas,Holidays等,并在联系AWS Support时提到他们在待办事项列表中(对这些python库的支持),但到目前为止没有ETA。

因此,此时,任何非本机python的库都无法在AWS Glue中使用。但这应该会在不久的将来面世,因为这是很受欢迎的需求。

如果您仍然想尝试一下,请refer to this link,在其中解释了如何打包外部库以在AWS胶水中运行,我尝试过,但对我没用。

答案 1 :(得分:0)

正如Yuva的回答所述,我认为目前无法导入非纯Python语言的库,而文档反映了这一点。

但是,万一有人来这里寻找有关如何在AWS Glue中导入python库的答案,这篇文章中有一个很好的解释,说明如何使用pg8000库: AWS Glue - Truncate destination postgres table prior to insert

答案 2 :(得分:0)

AWS Glue Jobs的更新于2019年1月22日发布。

在AWS Glue中引入Python Shell作业-发表于:2019年1月22日

  

AWS Glue中的Python Shell作业支持与以下脚本兼容的脚本   Python 2.7,并预装了Boto3等库,   NumPy,SciPy,Pandas等。您可以使用以下命令运行Python Shell作业   1 DPU(数据处理单元)或0.0625 DPU(即1/16 DPU)。一种   单个DPU提供由4个vCPU组成的处理能力   计算和16 GB的内存。

更多信息,位于:https://aws.amazon.com/about-aws/whats-new/2019/01/introducing-python-shell-jobs-in-aws-glue/

https://docs.aws.amazon.com/glue/latest/dg/add-job-python.html