Вопрос

Надеюсь, я спрашиваю это правильно.Я изучаю Elastic MapReduce и видел множество ссылок на «агрегатный» редуктор, который можно использовать с потоками заданий «потоковой передачи».

В PDF-файле Amazon Elastic MapReduce «Введение в Amazon Elastic MapReduce» говорится: «Amazon Elastic MapReduce имеет редуктор по умолчанию, называемый агрегатом».

Что я хотел бы знать: доступны ли другие редукторы по умолчанию?

Я понимаю, что могу написать свой собственный редуктор, но не хочу в конечном итоге писать что-то уже существующее и «изобретать велосипед», потому что уверен, что мой велосипед не будет так хорош, как оригинал.

Это было полезно?

Решение

Я в похожей ситуации.Из результатов Google и т. д. я делаю вывод, что ответ прямо сейчас: «Нет, в Hadoop нет других редукторов по умолчанию», что отстой, потому что было бы очевидно полезно иметь редукторы по умолчанию, такие как, скажем, «средний» или «медианный». ", поэтому вам не придется писать свой собственный.

http://hadoop.apache.org/common/docs/current/api/org/apache/hadoop/mapred/lib/aggregate/package-summary.html показывает ряд полезных применений агрегатора, но я не могу найти документацию о том, как получить доступ к другим функциям, кроме самой простой суммы ключей/значений, описанной в документации и в ответе Эрика Форсберга.Возможно, эта функциональность доступна только в Java API, который я не хочу использовать.

Кстати, я боюсь, что ответ Эрика Форсберга не является хорошим ответом на этот конкретный вопрос.Можно построить еще один вопрос, на который это могло бы быть полезным ответом, но это не то, о чем спрашивает ФП.

Другие советы

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

http://hadoop.apache.org/docs/stable/api/org/apache/hadoop/mapred/lib/aggregate/package-summary.html

Это редуктор, который встроен в потоковую утилиту. Он обеспечивает простой способ выполнения общего расчета путем написания карты, которые отформатируются особым образом.

Например, если ваш Mapper выходит:

LongValueSum:id1\t12
LongValueSum:id1\t13
LongValueSum:id2\t1
UniqValueCount:id3\tval1
UniqValueCount:id3\tval2

Редактор рассчитывает сумму каждого Longvaluesum и подсчитывает различные значения для uniqvaluecount. Следовательно, выходной выход:

id1\t25
id2\t12
id3\t2

Рудищики и комбинаторы в этом пакете очень быстрые по сравнению с выполнением потоковых комбинатов и редукторов, поэтому использование пакета заполнителя является удобным и быстрым.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top