/ / Ten sam klucz różne reduktory (HADOOP)? - java, hadoop, mapreduce, klucz-wartość, redukcja

Ten sam klucz różni Reducers (HADOOP)? - java, hadoop, mapreduce, klucz-wartość, zmniejsz

czy można przetwarzać wartości z tym samym kluczemróżne reduktory? od wszystkich twórców map mam dane z tym samym kluczem i chcę je przetwarzać za pomocą różnych reduktorów? mylę się, że książka mówi, że wszystkie wartości z tym samym kluczem trafią do tego samego reduktora ...

 mapper1(k1,v1),mapper2(k1,v2),mapper3(k1,v3) and so on...

nie chcę wszystkich danych do tego samego reduktora ... powinno być,

 reducer1(k1,v1),reducer2(k1,v2)....

i powiedzmy, że reduktor1 produkuje sum1 i reduktor2 produkuje sum2 i chcę tego

 sum=sum2+sum1

jak mam to zrobić?

Odpowiedzi:

4 dla odpowiedzi № 1

Dane z tym samym kluczem zawsze trafiają do tego samego reduktora. Możesz jednak wybrać dowolny klucz, więc jeśli chcesz, aby przechodziły do ​​różnych reduktorów, po prostu wybierz inne klucze.

Jeśli chcesz zrobić dodatkową kombinację na podstawiena wyjściu z reduktorów, musisz wykonać kolejne zadanie MapReduce, z wyjściem z pierwszego zadania jako danych wejściowych do następnego. To może stać się brzydkie szybko, więc możesz popatrzeć Kaskadowe, Świnia, lub Ul uprościć rzeczy.


2 dla odpowiedzi nr 2

Możesz napisać własny partycjoner, który zastąpi domyślną funkcję partycjonowania zadania Hadoop MR.

Więcej szczegółów tutaj: http://developer.yahoo.com/hadoop/tutorial/module5.html#partitioning