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