Несколько выходов в редукторе - PullRequest
1 голос
/ 20 февраля 2012

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

Приоритет1 х 2

Приоритет1 y 2

Приоритет1 z 2

приоритет2 х 2

priority2 y 2

Теперь я хочу получить другие файлы после фазы сокращения, например Priority1 и Priority2, которые имеют все эти значения в соответствии с приоритетом. Я использую Java и хочу знать, что должно быть написано в редукторе для такого вывода?

Я просто хочу знать, возможно ли это вообще, или это как подойти или решить это? Я использую Hadoop 0.20.203 и, следовательно, множественные выходы не работают.

Любые указатели будут полезны. Спасибо за помощь! Атул

Ответы [ 2 ]

0 голосов
/ 21 февраля 2012

Сначала вам нужно создать класс partioner, который будет делиться на основе ваших критериев.

Затем вам нужно создать свой собственный класс outputformat и класс recordwriter.

Класс recordwriter, должен записывать в разные файлы в соответствии с вашими потребностями. Далее, если вам нужно отсортировать значения, создайте класс comparator для ключевого поля.

0 голосов
/ 20 февраля 2012

Посмотрите на MultipleOutputs .

...