#python #multithreading #amazon-web-services #aws-glue
Вопрос:
Сценарий: У меня есть работа с клеем AWS, которая имеет дело с S3 и выполняет некоторый обход, чтобы вставить данные из файлов s3 в postgres в rds.
Из-за того, что размер файла иногда очень велик, выполнение операции занимает огромное время, например, время выполнения задания составляет более 2 дней.
Скрипт для задания написан на python
Я ищу способ улучшить свою работу некоторыми способами, такими как:
- Какие-то многопоточные опции в задании для более быстрого выполнения — возможно ли это? какие-либо варианты/альтернативы для этого?
- Есть ли какой-либо скрытый или неисследованный вариант AWS, который я могу попробовать для такого рода деятельности?
- Есть какие-нибудь нестандартные мысли?
Любой ответ будет оценен по достоинству, спасибо!
Ответ №1:
IIUC вам не нужно сканировать полные данные, если вам просто нужно сбросить их в rds. Таким образом, поисковик полезен, если вы собираетесь запрашивать эти данные с помощью Athena или любого другого компонента клея, но если вам нужно просто сбросить данные в rds, вы можете попробовать следующие варианты.
- Вы можете использовать задание glue spark для чтения всех файлов и, используя соединение jdbc с вашим rds, загрузить данные в postgres.
- Или вы можете использовать обычную библиотеку glue gob и pg8000 для загрузки файлов в postgres. Вы можете использовать пакетную загрузку из этой утилиты,