import error : No module in AWS Glue job script- Python

import error : No module in AWS Glue job script- Python

我正在尝试提供我的自定义 python 代码,它需要 AWS (pandas) 不支持的库。因此,我创建了一个包含必要库的 zip 文件并将其上传到 S3 存储桶。在 运行 作业时,我在高级 properties.Still 中指向 S3 存储桶的路径,但我的作业没有 运行 成功。谁能建议为什么? 1.Do 我必须在 zip 文件中包含我的代码吗? 如果是,那么 Glue 将如何理解它是代码? 2. 我还需要创建一个包还是只需要 zip 文件就可以了? 感谢您的帮助!

According to AWS Glue Documentation:

Only pure Python libraries can be used. Libraries that rely on C extensions, such as the pandas Python Data Analysis Library, are not yet supported.

如果您使用的库依赖于 C 扩展,我认为即使我们将 python 库作为 zip 文件上传也不会起作用。我曾尝试使用 Pandas、假期等与您尝试过的方式相同的方法,并且在联系 AWS Support 时,他们提到它在他们的待办事项列表中(支持这些 python 库),但没有预计到达时间截至目前。

因此,任何非本机库 python,目前都无法在 AWS Glue 中运行。但应该会在不久的将来推出,因为这是一个受欢迎的需求。

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

正如 Yuva 的回答所提到的,我认为目前不可能导入一个不完全在 Python 中的库,并且文档反映了这一点。

但是,如果有人来这里寻找一般情况下如何在 AWS Glue 中导入 python 库的答案,post 中对此有很好的解释使用 pg8000 库:

2019 年 1 月 22 日发布的 AWS Glue 作业更新。

介绍 Python Shell AWS Glue 中的工作 -- 发布于:2019 年 1 月 22 日

Python shell jobs in AWS Glue support scripts that are compatible with Python 2.7 and come pre-loaded with libraries such as the Boto3, NumPy, SciPy, pandas, and others. You can run Python shell jobs using 1 DPU (Data Processing Unit) or 0.0625 DPU (which is 1/16 DPU). A single DPU provides processing capacity that consists of 4 vCPUs of compute and 16 GB of memory.

更多信息: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