У меня есть задание ETL, написанное на python, которое состоит из нескольких сценариев со следующей структурой каталогов;
my_etl_job
|
|--services
| |
| |-- __init__.py
| |-- dynamoDB_service.py
|
|-- __init__.py
|-- main.py
|-- logger.py
main.py
- это сценарий точки входа, который импортирует другие сценарии из вышеуказанных каталогов. Приведенный выше код прекрасно работает на конечной точке dev после загрузки в кластер ETL, созданный конечной точкой dev. Поскольку сейчас я хочу запустить его в производство, я хочу создать для него подходящую работу по склеиванию. Но когда я сжимаю весь каталог my_etl_job
в формате .zip
, загружаю его в корзину артефактов s3 и указываю расположение файла .zip в расположение сценария следующим образом
s3://<bucket_name>/etl_jobs/my_etl_job.zip
Это код, который я вижу на панели инструментов интерфейса работы с клеем;
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)