Доступные редукторы в эластичном MapReduce
Надеюсь, я спрошу это правильно. Я изучаю путь Elastic MapReduce, и я видел многочисленные ссылки на редуктор "Агрегат", который можно использовать с потоками заданий "Потоковая передача".
В Amazon "Введение в Amazon Elastic MapReduce" PDF в нем говорится: "Amazon Elastic MapReduce имеет редуктор по умолчанию, называемый агрегатом"
Что я хотел бы знать: существуют ли другие редукторы по умолчанию?
Я понимаю, что могу написать свой собственный редуктор, но я не хочу писать что-то, что уже существует, и "изобретать колесо", потому что я уверен, что мое колесо не будет таким же хорошим, как оригинал.
Ответы
Ответ 1
Я в подобной ситуации. Я выхожу из результатов Google и т.д., Что ответ прямо сейчас "Нет, в Hadoop нет других дефолтных сокращений", что отстойно, потому что было бы полезно использовать дефолтные редукторы, например, "средний" или "средний" "поэтому вам не нужно писать свои собственные.
http://hadoop.apache.org/common/docs/current/api/org/apache/hadoop/mapred/lib/aggregate/package-summary.html показывает ряд полезных агрегаторов, но я не могу найти документацию о том, как получить доступ к другим функциям, чем самый базовый ключ/значение сумма, описанная в документации и в ответе Эрика Форсберга. Возможно, эта функциональность доступна только в Java API, которую я не хочу использовать.
Кстати, я боюсь, что ответ Эрика Форсберга не является хорошим ответом на этот конкретный вопрос. Другой вопрос, для которого он может быть полезным ответом, может быть построен, но это не то, о чем спрашивает OP.
Ответ 2
Редуктор, на который они ссылаются, документируется здесь:
http://hadoop.apache.org/docs/stable/api/org/apache/hadoop/mapred/lib/aggregate/package-summary.html
Это редуктор, встроенный в поточную утилиту. Он обеспечивает простой способ сделать общий расчет, написав картограф, который выводит ключи, которые форматируются особым образом.
Например, если вы выбрали отображение:
LongValueSum:id1\t12
LongValueSum:id1\t13
LongValueSum:id2\t1
UniqValueCount:id3\tval1
UniqValueCount:id3\tval2
Редуктор будет вычислять сумму каждого LongValueSum и подсчитывать различные значения для UniqValueCount. Следовательно, выход редуктора будет:
id1\t25
id2\t12
id3\t2
Редукторы и комбайнеры в этом пакете очень быстрые по сравнению с работающими потоковыми комбайнами и редукторами, поэтому использование агрегатного пакета является удобным и быстрым.