Как я могу прочитать счетчик (например, количество выходных записей) каждой задачи сокращения

1

Я выполняю итеративные операции hadoop/mapreduce для анализа определенных данных. (apache hadoop version 1.1.0), и мне нужно знать количество выходных записей каждой задачи сокращения для запуска следующей итерации задания M/R. Я могу прочитать консолидированный счетчик после каждого задания M/R, но я не могу найти способ прочитать счетчик каждой задачи отдельно. Пожалуйста, посоветуйте мне об этом.

Choi

Теги:
hadoop
mapreduce

2 ответа

1

Вы можете использовать Jumbune debugger для этого, вы можете использовать свои собственные классы проверки и/или проверку на основе регулярных выражений на каждом преобразователе/​​редукторе. Jumbune дает хорошую детализацию в каждую фазу и структуру управления.

Запустите работу через jumbune, и это даст вам статистику по количеству записей, проходящих через ваш картограф или редуктор, и через каждую структуру управления в вашей работе. Более того, вы можете применить валидацию к записям, которые были отфильтрованы на ваших фазах или из них, чтобы дать вам точное представление.

0

Это не то, как работают счетчики: каждая задача передает свои показатели в центральную точку, поэтому нет способа узнать значения счетчика из отдельных задач.

Отсюда: http://www.thecloudavenue.com/2011/11/retrieving-hadoop-counters-in-mapreduce.html

Счетчики могут быть увеличены с помощью Reporter для старого API MapReduce или с использованием контекста с использованием нового API MapReduce. Эти счетчики отправляются в TaskTracker, и TaskTracker отправляет JobTracker, а JobTracker будет консолидировать счетчики для создания целостного представления для полного задания. Сводные счетчики не передаются обратно на карту и задачи "Уменьшить" с помощью JobTracker. Таким образом, задачи "Карта" и "Уменьшить" должны связаться с JobTracker, чтобы получить текущее значение счетчика.

Я полагаю, вы могли бы создать счетчик конкретных задач (например, префикс имени счетчика), но в итоге у вас будет много разных счетчиков, и, поскольку они разработаны для легкого веса, вы можете столкнуться с проблемами ( хотя пороговый уровень довольно высок: я однажды проверил предел, и узел разбился, когда я достиг чего-то вроде миллиона счетчиков!)

  • 0
    Спасибо за совет. Тогда что может быть лучшей альтернативой, чтобы получить ту же информацию? - Чой
  • 0
    Может быть, записать информацию в файл детали по завершении и прочитать / объединить все похожие файлы детали (из общего места) вне работы, прежде чем начинать следующую итерацию.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню