AWS Glue Job: как обеспечить двоичные файлы и сделать их исполняемыми в скрипте pythonshell? - PullRequest
0 голосов
/ 28 января 2020

Постановка задачи:

S3 Bucket с архивами 7z -> Задание склеивания (извлечение + агрегация) через pythonshell -> S3 Bucket

Я хочу решить эту проблему с помощью неуправляемых экземпляров через AWS Клей. Файлы 7z слишком велики для использования с Lambda (большинство файлов> 2,5 ГБ + накладные расходы) и могут превышать время выполнения. В общем, 7z изначально не поддерживается ни одним из «безсерверных» подходов. Следовательно, необходимо предоставить двоичные файлы ИЛИ использовать собственную (python) реализацию кода.

Предположим, что стабильной собственной реализации не существует. Мне интересно, как предоставить бинарные файлы + библиотеки в целом для AWS "безсерверных" экземпляров?

Что я пробовал до сих пор:

  • Просто скопировал двоичные файлы через S3 (с разрешениями от + x) до /usr/local/bin + /usr/local/lib. Получено отказано в разрешении при вызове двоичного файла. Также попытался переместить его в /home/$(echo $USER)/bin + /home/$(echo $USER)/lib и добавил оба в переменную PATH env.
  • Скомпилировал исходный файл для платформы Amazon Linux. Установите путь к папке с разрешениями. Исходя из процедуры, она аналогична предыдущему шагу.
  • попытался установить дополнительный двоичный файл из диспетчера пакетов - отказано в разрешении

Как правильно создать исполняемые двоичные файлы с их библиотеки доступны для неуправляемых кластерных сервисов, таких как Glue и Co? Я не говорю о лямбдах! Для лямбды это упоминается в документе AWS.

...