Запустить Amazon Elastic MapReduce удаленно? - PullRequest
0 голосов
/ 20 августа 2010

Я работаю над небольшим проектом, чтобы познакомиться с веб-сервисами Amazon. Я пытаюсь сделать простое веб-приложение; при нажатии кнопки запускается задание mapreduce, и результат возвращается в браузер. Каков был бы лучший способ сделать это? Кроме того, есть ли способ запустить задание amazonastic mapreduce через командную строку?

Ответы [ 2 ]

2 голосов
/ 24 февраля 2011

Вы можете использовать AWS SDK на любом языке, на котором пишете свое веб-приложение, чтобы звонить в EMR и отправлять работу. Я работаю в основном с Python, поэтому я больше всего знаком с библиотекой Python Boto, которая позволяет безболезненно загружать код и данные в s3, настраивать поток работ и запускать этот поток работ.

Вы не захотите запускать задание и возвращать результаты в том же HTTP-запросе, поскольку для запуска кластера потребуется несколько минут, прежде чем задание сможет быть запущено. Веб-приложение со страницами, которые не отвечают в течение нескольких минут, не очень удобно для пользователя. Тем не менее, просто отправка рабочего процесса занимает всего несколько секунд. Вам нужно будет создать поток работ и просто отслеживать идентификаторы потоков работ в своем веб-приложении. Учитывая идентификатор потока работ, у вас не должно быть особых проблем с получением данных журнала или выходных данных из потока работ, когда пользователь возвращается и работа завершена.

Вот пример того, как можно запустить Elastic MR с помощью Boto:

import boto
from boto.emr.step import StreamingStep

conn = boto.connect_emr()
step = StreamingStep(name='My wordcount example',
                     mapper='s3n://elasticmapreduce/samples/wordcount/wordSplitter.py',
                     reducer='aggregate',
                     input='s3n://elasticmapreduce/samples/wordcount/input',
                     output='s3n://<my output bucket>/output/wordcount_output')
jobid = conn.run_jobflow(name='My jobflow',
                         log_uri='s3://<my log uri>/jobflow_logs',
                         steps=[step])
0 голосов
/ 20 августа 2010

Ты уже посмотрел? http://developer.amazonwebservices.com/connect/entry.jspa?externalID=873 Это со стороны разработчика и может помочь вам в этом.

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