Как мне войти из картографа? (hadoop с обычным сканированием)

Я использую пример кода commoncrawl из учебника " Mapreduce for the Masses ". Я пытаюсь внести изменения в маппер, и я хотел бы иметь возможность записывать строки в какой-либо вывод. Я подумываю о настройке некоторой базы данных noSQL и просто перенести на нее свой вывод, но это не похоже на хорошее решение. Что является стандартным способом сделать такую ​​регистрацию из Java?

1 ответ

Хотя нет специального решения для журналов, кроме обычного регистратора (по крайней мере, одного, о котором я знаю), я могу увидеть некоторые решения.
а) если журналы имеют отладочную цель - действительно пишите обычные журналы отладки. В случае неудачных заданий вы можете найти их через пользовательский интерфейс и проанализировать.
б) если эти журналы - это какой-то вывод, который вы хотите получить вместе с другим выводом вашей работы - назначьте им какой-нибудь специальный ключ и запишите в контекст. Тогда в редукторе вам понадобится особая логика для вывода их на выход.
в) Вы можете создать каталог в HDFS и сделать маппер для записи туда. Это не классический способ для МР, потому что это побочный эффект - в некоторых случаях это может быть хорошо. Особенно принимая во внимание, что после того, как каждый маппер создаст свой собственный файл - вы можете использовать команду hadoop fs -getmerge..., чтобы получить все журналы как один файл.
в) Если вы хотите иметь возможность отслеживать ход вашей работы, количество ошибок и т. д. - вы можете использовать счетчики.

Другие вопросы по тегам