Как разделить файл данных на сотни экземпляров AWS? - PullRequest
0 голосов
/ 30 ноября 2018

У меня есть файл json с десятками тысяч отдельных рабочих мест.Эти задания могут быть выполнены одним скриптом и завершены сравнительно быстро.

Я рассчитываю, что 500 экземпляров в AWS завершат работу менее чем за 1 час и сделают мои расходы доступными.

Как я могузаставить каждый экземпляр запускать разные порции данных?

1 Ответ

0 голосов
/ 30 ноября 2018

Один из вариантов - запуск нескольких экземпляров EC2 из одного и того же AMI в одном запросе RunInstances и каждый экземпляр EC2 считывает один и тот же файл JSON из S3.

Каждый экземпляр затем запрос свой собственный ami-launch-index из службы метаданных.Этот ami-launch-index будет уникальным для каждого экземпляра EC2, связанного с данным запросом RunInstances, и будет пронумерован от 0 до N-1 (где N - количество запущенных вами экземпляров).

Каждый экземпляр EC2 может затем обработать подмножество списка заданий в файле JSON на основе своего локального ami-launch-index (назовем это K), например, заданий с индексом K, K + N, K + 2N, ...

Другой вариант - написать сценарий, который предварительно анализирует файл JSON, решить, какие задания должен обрабатывать каждый из N экземпляров EC2, а затем передать это подмножество списка в каждый экземпляр EC2 вuserdata, например, запись его в файл json экземпляра.Приложение, запущенное на экземпляре, будет читать этот локальный файл и обрабатывать соответствующие задания.

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