Пользовательское ведение журнала EMR из картографа и редуктора

Возможно ли иметь пользовательские журналы от картографов и редукторов в EMR... допустим, у меня есть картограф, который проходит через данные и фильтрует на основе определенных условий

Код картографа (потоковая передача)

  • Посмотрите на строку ввода
  • Если пользовательский агент неисправен - зарегистрируйтесь в пользовательском журнале.
  • иначе пусть это пройдет к редуктору

Как я могу записать собственный журнал и получить сводный журнал от всех картографов в каталоге журналов для этого задания.

Точно так же, если я хочу, чтобы какая-то регистрация выполнялась на этапе редуктора

  • Работа со значениями для ключа (например, сортировка по дате и времени)
  • если более 20 событий за один час, это плохой пользователь - LOG в пользовательский журнал - иначе пусть он будет выводиться

Любая помощь приветствуется. Спасибо


person user2330278    schedule 21.08.2013    source источник


Ответы (2)


Вы можете использовать MultipleOutputs (новый API) или MultiFileOutput (старый API) для записи более чем в 1 вывод. Записывайте нужные записи в другое место журнала. Если вам нужен 1 большой файл журнала, вы можете объединить их после завершения работы.

person harel    schedule 01.09.2013
comment
Спасибо .. есть какие-нибудь примеры, на которые вы можете мне указать. Я пытался искать, но ничего не нашел. Также я использую потоковое задание в Ruby для своего картографа и редуктора EMR. - person user2330278; 02.09.2013

Чтобы получить несколько выходных данных, см. http://hadoop.apache.org/docs/r2.0.3-alpha/api/org/apache/hadoop/mapreduce/lib/output/MultipleOutputs.html

В API Java есть поддержка для создания нескольких/именованных выходных файлов.

Я не смог найти способ сделать это в потоковом коде, написанном на рубине.

person user2330278    schedule 19.11.2013