2009-12-22 15 views
12

Mam nadzieję, że zadam to w odpowiedni sposób. Uczę się na swojej drodze do Elastic MapReduce i widziałem liczne odniesienia do reduktora "Aggregate", który może być użyty w przepływie zadań "Streaming".Dostępne reduktory w elastycznej MapReduce

W Amazona „Wprowadzenie do Amazon Elastic MapReduce” PDF stwierdza „Amazon Elastic MapReduce posiada reduktor domyślnej nazwie aggregrate”

Co chciałbym wiedzieć: istnieją inne domyślne reduktory availiable?

Rozumiem, że mogę napisać własny reduktor, ale nie chcę w końcu pisać czegoś, co już istnieje i "wymyślać koło", ponieważ jestem pewien, że moje koło nie będzie tak dobre, jak oryginalny.

Odpowiedz

4

Jestem w podobnej sytuacji. Wnioskuję z wyników Google itp., Że odpowiedź brzmi teraz: "Nie, nie ma innych domyślnych reduktorów w Hadoop", co jest dość do bani, ponieważ byłoby oczywiście użyteczne posiadanie domyślnych reduktorów, jak na przykład "średnia" lub "mediana" "więc nie musisz pisać własnego.

pokazuje wiele użytecznych zastosowań agregatora, ale nie mogę znaleźć dokumentacji, jak uzyskać dostęp do innych funkcji niż bardzo podstawowa suma klucza/wartości opisana w dokumentacji oraz w odpowiedzi Erika Forsberga. Być może ta funkcjonalność jest ujawniona tylko w Java API, której nie chcę używać.

Nawiasem mówiąc, obawiam się, że odpowiedź Erika Forsberga nie jest dobrą odpowiedzią na to konkretne pytanie. Kolejne pytanie, na które może być użyteczna odpowiedź, może zostać skonstruowane, ale nie jest to zadanie OP.

8

Reduktor one dotyczą jest udokumentowane tutaj:

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

To reduktor, który jest wbudowany w mechanizm strumieniowego. Zapewnia prosty sposób wykonywania typowych obliczeń poprzez zapisywanie odwzorowującego klawisze wyjściowe, które są sformatowane w specjalny sposób.

Na przykład, jeśli wyjścia Mapper:

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

Reduktor obliczy sumę każdego LongValueSum, i policzyć różne wartości dla UniqValueCount. Wyjście reduktora będzie zatem:

id1\t25 
id2\t12 
id3\t2 

Reduktory i sumatory w tym pakiecie są bardzo szybki w porównaniu z prowadzeniem strumieniowych kombinatory i reduktory, więc stosując pakiet zbiorczy jest wygodna i szybka.