Добавить механизм отслеживания прогресса в очистку hadoop MapReduce

#java #hadoop #mapreduce

#java #hadoop #mapreduce

Вопрос:

Допустим, я использую функции cleanup() в Hadoop MapReduce. Как бы мне добавить в него механизм отслеживания прогресса, скажем, в процентах завершения, чтобы отобразить его в консоли?

Ответ №1:

Отсутствует реализация функции cleanup() для Mapper.java класс.

Когда задание Hadoop запускается из командной строки, на консоли выводится следующее.

11/10/31 18:15:50 ИНФОРМАЦИЯ о mapreduce.Задание: карта 0% уменьшить 0%
11/10/31 18:16:15 ИНФОРМАЦИЯ mapreduce.Задание: карта 50% уменьшить 0%
11/10/31 18:16:21 ИНФОРМАЦИЯ mapreduce.Задание: карта 100% уменьшить 0%
11/10/31 18:16:30 ИНФОРМАЦИЯ mapreduce.Задание: карта 100% уменьшить 100%

Код для приведенного выше находится в Job.java класс.

   String report = 
    (" map "   StringUtils.formatPercent(mapProgress(), 0) 
        " reduce "   
        StringUtils.formatPercent(reduceProgress(), 0));
  if (!report.equals(lastReport)) {
    LOG.info(report);
    lastReport = report;
  }
 

Код Mapper.cleanup() должен быть изменен, чтобы выводить прогресс на консоль и создавать jar-файл. Я не думаю, что в Hadoop есть поддержка OOB для очистки.