Боюсь, я не понимаю временные результаты задания Map -Reduce. Например, задание, которое я выполняю, дает мне следующие результаты от средства отслеживания заданий.
Завершено за :1 мин 39 сек
Затраченное процессорное время (мс )150 460 152 030 302 490
Записи в затраченном времени ЦП (мс )относятся к Map, Reduce и Total соответственно. Но как же тогда измеряется «затраченное процессорное время» и что оно означает?Является ли это общим совокупным временем, затраченным на каждый из мапперов и редукторов, назначенных для задания? Можно ли измерить другое время из структуры, например время для перемешивания, сортировки, разделения и т. д.? Если да, то как?
Второй вопрос, который меня беспокоит. Я видел несколько сообщений здесь(Ссылка1 , Ссылка2)которые предлагают использовать getTime ()в классе драйвера:
long start = new Date().getTime();
boolean status = job.waitForCompletion(true);
long end = new Date().getTime();
System.out.println("Job took "+(end-start) + "milliseconds");
Разве это не делает то, что обеспечивает первая запись в выводе Job Tracker? Это необходимо? Каков наилучший способ рассчитать время работы Hadoop, особенно когда я хочу рассчитать время ввода-вывода, вычислить время на узел/на этап?