Рекомендации по использованию клея AWS, необходимые для масштабирования или оценки производительности

#python #multithreading #amazon-web-services #aws-glue

Вопрос:

Сценарий: У меня есть работа с клеем AWS, которая имеет дело с S3 и выполняет некоторый обход, чтобы вставить данные из файлов s3 в postgres в rds.

Из-за того, что размер файла иногда очень велик, выполнение операции занимает огромное время, например, время выполнения задания составляет более 2 дней.

Скрипт для задания написан на python

Я ищу способ улучшить свою работу некоторыми способами, такими как:

  • Какие-то многопоточные опции в задании для более быстрого выполнения — возможно ли это? какие-либо варианты/альтернативы для этого?
  • Есть ли какой-либо скрытый или неисследованный вариант AWS, который я могу попробовать для такого рода деятельности?
  • Есть какие-нибудь нестандартные мысли?

Любой ответ будет оценен по достоинству, спасибо!

Ответ №1:

IIUC вам не нужно сканировать полные данные, если вам просто нужно сбросить их в rds. Таким образом, поисковик полезен, если вы собираетесь запрашивать эти данные с помощью Athena или любого другого компонента клея, но если вам нужно просто сбросить данные в rds, вы можете попробовать следующие варианты.

  1. Вы можете использовать задание glue spark для чтения всех файлов и, используя соединение jdbc с вашим rds, загрузить данные в postgres.
  2. Или вы можете использовать обычную библиотеку glue gob и pg8000 для загрузки файлов в postgres. Вы можете использовать пакетную загрузку из этой утилиты,