【发布时间】:2023-03-25 07:40:01
【问题描述】:
我有一个用python编写的ETL作业,它由多个具有以下目录结构的脚本组成;
my_etl_job
|
|--services
| |
| |-- __init__.py
| |-- dynamoDB_service.py
|
|-- __init__.py
|-- main.py
|-- logger.py
main.py 是从上述目录导入其他脚本的入口点脚本。上传到由 dev 端点创建的 ETL 集群后,上面的代码在 dev-endpoint 上运行得非常好。因为现在我想在生产中运行它,所以我想为它创建一个合适的胶水作业。但是当我以.zip 格式压缩整个目录my_etl_job 时,将其上传到artifacts s3 存储桶中,并将.zip 文件位置指定到脚本位置,如下所示
s3://<bucket_name>/etl_jobs/my_etl_job.zip
这是我在胶水作业 UI 仪表板上看到的代码;
PK
���P__init__.pyUX�'�^"�^A��)PK#7�P logger.pyUX��^1��^A��)]�Mk�0����a�&v+���A�B���`x����q��} ...AND ALLOT MORE...
似乎胶水作业不接受 .zip 格式?如果是,那么我应该使用什么压缩格式?
更新:
我检查了胶水作业可以选择接收额外文件Referenced files path,其中我提供了上述文件所有路径的逗号分隔列表,并将 script_location 更改为仅引用main.py 文件路径。但这也没有奏效。胶水作业抛出错误找不到模块记录器(我在 logger.py 文件中定义了这个模块)
【问题讨论】: