Parallel / Async Загрузка данных S3 в EC2 в Python? - PullRequest
2 голосов
/ 12 февраля 2009

У меня есть большие файлы данных, хранящиеся в S3, которые мне нужно проанализировать. Каждая партия состоит из ~ 50 файлов, каждый из которых может быть проанализирован независимо.

Я бы хотел настроить параллельные загрузки данных S3 в экземпляр EC2 и настроить триггеры, запускающие процесс анализа для каждого загружаемого файла.

Существуют ли библиотеки, которые обрабатывают асинхронную загрузку, запускают на полной модели?

Если нет, я подумываю настроить несколько процессов загрузки с помощью пиропроцессора, каждый из которых будет загружать и анализировать один фрагмент файла. Это звучит разумно или есть лучшие альтернативы?

Ответы [ 3 ]

3 голосов
/ 13 марта 2009

Отвечая на свой вопрос, я написал простую модификацию библиотеки Python Amazon S3, которая позволяет загружать файл порциями или читать его построчно. Доступно здесь .

0 голосов
/ 12 февраля 2009

Я не знаю ничего, что уже существует, которое делает именно то, что вы ищете, но даже если это не так, его будет достаточно легко собрать вместе с Python. Для многопоточного подхода вы можете взглянуть на этот рецепт Python , который выполняет многопоточные загрузки HTTP для тестирования зеркал загрузки.

РЕДАКТИРОВАТЬ : Я нашел несколько пакетов, которые могли бы выполнить большую часть работы за вас и быть тем, что вы ищете

0 голосов
/ 12 февраля 2009

Похоже, вы ищете витой :

"Twisted - это управляемый событиями сетевой движок, написанный на Python и лицензированный по лицензии MIT."

http://twistedmatrix.com/trac/

Я использовал витой питон для нескольких асинхронных проектов, связанных как с общением через Интернет, так и с подпроцессами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...