Повторное использование экземпляра Amazon Elastic MapReduce

Я пробовал простую задачу Map/Reduce с помощью Amazon Elastic MapReduce, и для выполнения задачи потребовалось всего 3 минуты. Возможно ли повторное использование одного и того же экземпляра для запуска другой задачи.

Хотя я только что использовал экземпляр в течение 3 минут, Amazon будет взимать плату за 1 hr, поэтому я хочу использовать баланс 57 минут для выполнения нескольких других задач.

Ответ 1

Ответ - да.

здесь, как вы это делаете, используя клиент командной строки:

Когда вы создаете экземпляр, передайте флаг - живой, это говорит emr, чтобы сохранить кластер вокруг после выполнения задания.

Затем вы можете отправить больше задач в кластер:

elastic-mapreduce --jobflow <job-id> --stream --input <s3dir> --output <s3dir> --mapper <script1> --reducer  <script2>

Чтобы завершить кластер позже, просто запустите:

elastic-mapreduce <jobid> --terminate

попробуйте выполнить команду elge-mapreduce --help, чтобы увидеть все команды, которые вы можете запустить.

Если у вас нет клиента командной строки, введите его здесь.

Ответ 2

Использование:

elastic-mapreduce --jobflow job-id \
    --jar s3n://some-path/x.jar \
    --step-name "New step name" \
    --args ...

вы также можете добавить шаги для потоковой передачи в ваш кластер. (просто так вам не придется самому попробовать себя;-))

Ответ 3

http://aws.amazon.com/elasticmapreduce/faqs/#dev-6

Q: Можно ли запустить постоянный поток задания? Да. Работа Amazon Elastic MapReduce потоки, запущенные с помощью флага -alive, будут продолжаться до тех пор, пока явно прекращено. Это позволяет клиентам добавлять шаги на работу поток по требованию. Вы можете использовать это для отладки логики потока задания без необходимости многократно ждать запуска потока задания. Вы можете также использовать постоянный поток заданий для запуска многолетнего хранилища данных кластер. Это можно объединить с хранилищем данных и аналитикой пакеты, которые работают поверх Hadoop, таких как Hive и Pig.