Ho paura di non capire i risultati dei tempi di un lavoro di riduzione della mappa. Ad esempio, un lavoro che sto eseguendo mi dà i seguenti risultati dal tracker di lavoro.Cosa significa tempo CPU per un lavoro Hadoop?
finito in: 1mins, 39sec tempo
CPU trascorso (ms) 150.460 152.030 302.490
Le voci nel tempo di CPU trascorso (ms) sono per Map, ridurre e Total, rispettivamente. Ma, allora, come viene misurato il "tempo CPU trascorso" e cosa significa? È questo il tempo totale cumulativo trascorso in ciascuno dei mappatori e riduttori assegnati per il lavoro? E 'possibile misurare altre volte dal framework come il tempo per shuffle, sort, partition etc? Se é cosi, come?
Una seconda domanda che mi dà fastidio. Ho visto alcuni post qui (Link1, Link2), che consigliamo di utilizzare getTime() nella classe del driver:
long start = new Date().getTime();
boolean status = job.waitForCompletion(true);
long end = new Date().getTime();
System.out.println("Job took "+(end-start) + "milliseconds");
Non è questo a fare quello che la prima voce in uscita Job Tracker fornisce in ogni caso? È necessario? Qual è il modo migliore per cronometrare un job hadoop, specialmente quando voglio time time, tempo di calcolo per nodo/per stage?
si dovrebbero porre domande diverse in diversi post –