MapReduce на AWS - PullRequest
       23

MapReduce на AWS

6 голосов
/ 02 апреля 2009

Кто-нибудь еще играл с MapReduce на AWS? Какие-нибудь мысли? Как реализация?

Ответы [ 8 ]

15 голосов
/ 03 апреля 2009

Легко начать.

Вот часто задаваемые вопросы: http://aws.amazon.com/elasticmapreduce/faqs/

А вот руководство по началу работы: http://docs.amazonwebservices.com/ElasticMapReduce/latest/GettingStartedGuide/

Если у вас уже есть учетная запись EC2, вы можете включить MapReduce и запустить пример приложения менее чем за 10 минут, используя Консоль управления AWS.

Я сделал предварительно упакованное приложение-пример Word Count, которое возвращает количество каждого слова, содержащегося в примерно 20 МБ текста. Вы можете подготовить до 20 экземпляров для одновременной работы, хотя я только использовал 2 экземпляра, и задание было выполнено примерно за 3 минуты.

Задание возвращает алфавитный список слов объемом 300 КБ и частоту появления каждого слова в корпусе образца.

Мне действительно нравится, что задания MapReduce могут быть написаны на моем выборе Perl, Python, Ruby, PHP, C ++, R или Java. Процесс был безболезненным и простым, а интерфейс дает хорошие отзывы о состоянии ваших экземпляров и ходе работы.

Имейте в виду, что поскольку AWS взимает плату за полный час при создании экземпляра и поскольку экземпляры MapReduce автоматически завершаются в конце потока работ, стоимость нескольких быстро выполняющихся потоков заданий может быстро возрасти.

Например, если я создаю поток заданий, который использует 20 экземпляров и возвращает результаты через 15 минут, а затем повторно запускаю поток заданий еще 3 раза, мне придется платить за 80 часов машинного времени, хотя я только 20 экземпляров работали в течение 1 часа.

4 голосов
/ 06 апреля 2012

У вас также есть возможность запустить MapReduce (Hadoop) на AWS с StarCluster . Этот инструмент настраивает кластер для вас и имеет то преимущество, что вам не нужно платить дополнительную цену Amazon Elastic MapReduce (если вы хотите сократить свои расходы), и вы можете создать свой собственный образ (AMI) с помощью своих инструментов (это может хорошо, если установка инструментов не может быть выполнена скриптом начальной загрузки).

2 голосов
/ 11 января 2010

Это очень удобно, потому что вам не нужно администрировать собственный кластер. Вы просто платите за использование, поэтому я думаю, что это хорошая идея, если у вас есть работа, которую нужно запускать время от времени. Мы запускаем Amazon MapReduce только раз в месяц, поэтому для нашего использования оно того стоит.

Однако, насколько я могу судить, недостаток Amazon Map Reduce заключается в том, что вы не можете сказать, какая операционная система работает, или даже ее версия. Это вызвало у меня проблемы с запуском кода c ++, скомпилированного с g ++ 4.44, некоторые образы ОС не поддерживают библиотеку cUrl и т. Д.

Если вам не нужны какие-либо специальные библиотеки для вашего случая использования, я бы сказал, пойти на это.

1 голос
/ 18 октября 2012

Кроме того, в зависимости от типа / продолжительности работ, которые вы планируете выполнять, вы можете использовать спотовые экземпляры AWS с EMR, чтобы получить более выгодную цену.

1 голос
/ 25 апреля 2012

EMR - это лучший способ использовать доступные ресурсы с очень небольшими дополнительными затратами по сравнению с EC2, однако вы сможете сэкономить время и упростить его. Большинство реализаций MR в облаке используют эту модель, то есть Apache Hadoop в Windows Azure, Mortar Data и т. Д. Я работал над Amazon EMR и Apache Hadoop в Windows Azure и нашел невероятное применение.

1 голос
/ 27 июля 2011

Хороший ответ по МБ.

Для ясности: кластеры Hadoop можно запускать двумя способами: 1) Запустите его на экземплярах Amazon EC2. Это означает, что вы должны установить его, настроить, прекратить и т. Д. 2) Запустите его с помощью Elastic MapReduce или EMR: это автоматический способ запуска кластера Hadoop в Amazon Web Services. Вы платите немного больше базовой стоимости для EC2, но вам не нужно ничего управлять: просто загрузите свои данные, затем свой алгоритм, а затем хруст. EMR закроет экземпляры автоматически, как только ваши задания будут завершены.

Best

Simone

0 голосов
/ 20 июля 2015

AWS EMR - хороший выбор, если вы используете хранилище S3 для своих данных. Он обеспечивает готовую интеграцию с S3 для загрузки файлов и публикации обработанных файлов. В тех случаях, когда вам нужно запускать задание по требованию, вы избавлены от затрат на постоянный запуск всего кластера, это действительно поможет вам сэкономить часы экземпляра. Используя вышеупомянутое преимущество, можно использовать AWS-лямбду для порождения событийно-управляемых кластеров.

0 голосов
/ 28 апреля 2014

Я работаю с AWS EMR. Это довольно опрятно. Я имею в виду, как только вы запустите их кластер и войдите в их мастер-узел. Вы можете поиграть со структурой каталогов hadoop. И делать довольно крутые вещи ... Если у вас есть аккаунт в edu, не забудьте подать заявку на исследовательский грант. Они дают 100 $ бесплатных кредитов для использования своих AWS.

...