Есть ли способ «установить» счетчик Hadoop вместо того, чтобы увеличивать его? - PullRequest
3 голосов
/ 21 сентября 2011

API предоставляет только методы для увеличения счетчика в Mapper или Reducer.Есть ли способ просто установить его?или увеличивайте его значение только один раз, независимо от того, сколько раз выполняются преобразователи и преобразователи.

Ответы [ 4 ]

2 голосов
/ 21 сентября 2011

Чего ты пытаешься достичь? Это по своей сути сложно, а что, если несколько картографов пытаются установить счетчик? Кто должен победить? Причина, по которой счетчики обычно увеличиваются только в том, что это может быть сделано очень, очень быстро и эффективно с помощью архитектуры.

1 голос
/ 22 сентября 2011

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

Я использовал ZooKeeper в заданиях MapReduce для малыхсвязь или координация между задачами или пометка определенных вещей, которые произошли в работе или задаче.

0 голосов
/ 29 января 2015

Интерфейс org.apache.hadoop.mapreduce.Counter определяет метод setValue , но если он работает глобально, как кажется, основан на описании, я бы согласился с другими ответами, что нетмного вариантов использования для этого, которые также являются хорошими идеями ...

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

Это не может быть сделано из Hadoop API, по крайней мере, как указано @orangeoctupus Подход, который я использовал для достижения этой цели, заключался в установке значения в свойствах контекста Job. В конце свойства могут быть прочитаны после запуска задания. Не элегантный, но обходной путь!

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