Генерация нескольких выходных файлов с Hadoop 0.20+ - PullRequest
4 голосов
/ 02 февраля 2010

Я пытаюсь вывести результаты моего редуктора в несколько файлов. Все результаты данных содержатся в одном файле, а остальные результаты разбиты на основе категории в соответствующих файлах. Я знаю с 0.18, что вы можете сделать это с MultipleOutputs, и он не был удален. Тем не менее, я пытаюсь сделать свое приложение совместимым с 0,20+. Для существующей функциональности множественных выходов по-прежнему требуется JobConf (который мое приложение использует Job и Configuration). Как я могу генерировать несколько выходов на основе ключа?

Ответы [ 2 ]

9 голосов
/ 02 февраля 2010

Поддержка нескольких выходов отсутствует в 0,20. Вам нужно будет использовать более старый API.

Он был добавлен в 0.21, который в настоящее время не выпущен как org.apache.hadoop.mapreduce.lib.output.MultipleOutputs.

Эта тема в списке рассылки рассказывает об этой проблеме.

2 голосов
/ 03 февраля 2010

Вы можете сделать это в Hadoop 0.20, просто, как уже упоминалось, вы должны использовать более старый API.

Есть очень грубый код для этого http://github.com/orngejaket/Info_Moist_1_Splicer/tree/master/src/contrib/streaming/src/java/org/infochimps/hadoop/mapred/lib/

Полученный jar записывает каждую запись в файл, названный в честь его (очищенного) ключа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...