Was bedeutet CPU-Zeit für einen Hadoop-Job bedeuten?

Ich fürchte, ich verstehe nicht, das timing Ergebnisse eines Map-reduce-job. Zum Beispiel, ein job, den ich verwende gibt mir folgende Ergebnisse aus der job-tracker.

Fertig in: 1mins, 39sec

CPU-Zeit ausgegeben (ms) 150,460 152,030 302,490

Den Einträgen in der CPU-Zeitaufwand (ms) sind für Map, Reduce und Insgesamt jeweils. Aber dann ist, wie "CPU-Zeit verbraucht", die gemessen wird, und was hat es zu bedeuten? Ist das die gesamte Zeit in jeder der Mapper und Reduzierstücke zugeordnet, die für den job? Ist es möglich, zu Messen, zu anderen Zeiten aus dem Rahmen wie Zeit für mischen, Sortieren, partitionieren etc? Wenn ja, wie?

Eine zweite Frage die mich stört. Ich habe einige Beiträge hier ( Link1 , Link2 ), die empfehlen die Verwendung von getTime() in der Treiber-Klasse :

long start = new Date().getTime();
boolean status = job.waitForCompletion(true);
long end = new Date().getTime();
System.out.println("Job took "+(end-start) + "milliseconds");

Ist dies nicht zu tun, was der erste Eintrag in Job-Tracker-Ausgabe bietet überhaupt? Ist das notwendig? Was ist der beste Weg, um Zeit einen hadoop-job-vor allem, wenn ich wollen mal IO-Zeit, Rechenzeit pro Knoten/pro Stufe ?

  • Sie sollten verschiedene Fragen in verschiedenen posts
InformationsquelleAutor Alps | 2012-07-30
Schreibe einen Kommentar