ошибка импорта: нет модуля в скрипте работы AWS Glue - Python - PullRequest
0 голосов
/ 06 июля 2018

Я пытаюсь предоставить свой пользовательский код Python, для которого требуются библиотеки, которые не поддерживаются AWS (панды). Итак, я создал zip-файл с необходимыми библиотеками и загрузил его в корзину S3. Во время выполнения задания я указал путь к корзине S3 в дополнительных свойствах. Пока моя работа не выполняется успешно. Кто-нибудь может подсказать почему? 1. Должен ли я включить свой код в zip-файл? Если да, то как Glue поймет, что это код? 2. Также мне нужно создать пакет или просто подойдет zip-файл? Ценю помощь!

Ответы [ 3 ]

0 голосов
/ 18 июля 2018

Как уже упоминалось в ответе Ювы, я считаю, что в настоящее время невозможно импортировать библиотеку, которая не является чисто Python, и документация отражает это.

Однако, если кто-то пришел сюда в поисках ответа о том, как импортировать библиотеку python в AWS Glue в целом, в этом посте есть хорошее объяснение того, как это сделать с библиотекой pg8000: AWS Glue - Обрезать таблицу postgres назначения перед вставкой

0 голосов
/ 28 января 2019

Обновление AWS Glue Jobs, выпущенное 22 января 2019 года.

Представление рабочих мест оболочки Python в AWS Glue - Дата публикации: 22 января 2019

Задания оболочки Python в сценариях поддержки AWS Glue, которые совместимы с Python 2.7 и поставляется с предустановленными библиотеками, такими как Boto3, NumPy, SciPy, панды и другие. Вы можете запускать задания оболочки Python, используя 1 DPU (блок обработки данных) или 0,0625 DPU (что составляет 1/16 DPU). один DPU обеспечивает вычислительную мощность, которая состоит из 4 виртуальных ЦП вычисления и 16 ГБ памяти.

Более подробная информация по адресу: 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

0 голосов
/ 06 июля 2018

Согласно документации клея AWS:

Можно использовать только чистые библиотеки Python. Библиотеки, которые полагаются на C расширения, такие как библиотека анализа данных Python, не являются пока поддерживается.

Я думаю, что это не сработает, даже если мы загрузим библиотеку python в виде zip-файла, если используемая библиотека имеет зависимость для расширений Си. Я пытался использовать Pandas, Holidays и т. Д. Так же, как вы, и, обратившись в службу поддержки AWS, они упомянули, что это в их списке дел (поддержка этих библиотек python), но на данный момент ETA не было.

Таким образом, любые библиотеки, которые не являются родными Python, не будут работать в AWS Glue, на данный момент. Но должно быть доступно в ближайшее время, так как это популярный спрос.

Если вы все еще хотите попробовать, пожалуйста, обратитесь к этой ссылке , где объясняется, как упаковать внешние библиотеки для запуска в AWS-клею, я попробовал, но у меня не получилось.

...