Измерение времени выполнения Hadoop автоматически - PullRequest
0 голосов
/ 19 октября 2018

Я пишу задание MapReduce, используя Hadoop, и хочу измерить время выполнения задания, а собираю его, используя Date (я знаю, что также в пользовательском интерфейсе я могу видеть время выполнения).Чтобы найти правильное время выполнения, я запускаю это задание 3 раза (используя один jar hadoop и цикл for, который вызывает задание) и получаю очень странные результаты.

Похоже, что первый запуск имеетнамного меньше времени, чем другие, и я получаю тот же вывод (я знаю, что расположение контейнеров может быть причиной изменения времени выполнения, но я не уверен, почему первый запуск всегда самый быстрый).Пример кода того, что я использую

public int run (String[] args ) throws Exception {
Configuration conf = getConf();
conf.set(...)
.
.
.
for (int i = 0; i < 3; i++)
{
Job job =job.getInstance(conf, "OR-MR");
.
.
.
if (!job.waitForCompletion(true))
  { 
    System.exit(1);
  }
}//for
}//run

Кстати, если я запускаю задание 3 раза (по одному на команду hadoop), чем я получаю быстрое время выполнения.

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

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