hadoop - Why sometimes the mapreduce Average Reduce Time is a negative number? -


i run mapreduce job on hadoop cluster. job's running time saw in browser @ master:8088 , master:19888 (job history server web ui) shown below:

master:8088

master:8088

master:19888

master:19888

i have 2 questions:

  1. why elapsed times 2 pictures different?
  2. why average reduce time negative number?

it looks average reduce time based on times previous tasks (shuffle/merge) took finish , not amount of time reduce took run.

looking @ source code can see relevant calculations occurring around line 300.

if (attempt.getstate() == taskattemptstate.succeeded) {   numreduces++;   avgshuffletime += (attempt.getshufflefinishtime() - attempt.getlaunchtime());   avgmergetime += attempt.getsortfinishtime() - attempt.getshufflefinishtime();   avgreducetime += (attempt.getfinishtime() - attempt.getsortfinishtime()); } 

followed by:

if (numreduces > 0) {   avgreducetime = avgreducetime / numreduces;   avgshuffletime = avgshuffletime / numreduces;   avgmergetime = avgmergetime / numreduces; } 

looking @ numbers, seem in-line approach calculating run times (everything converted seconds):

total pre-reduce time = map run time + ave shuffle + ave merge
143 = 43 + 83 + 17

ave reduce time = elapsed time - total pre-reduce
-10 = 133 - 143

so looking @ how long map, shuffle , merge took compared elapsed end negative number close -8.


Comments

Popular posts from this blog

PySide and Qt Properties: Connecting signals from Python to QML -

c# - DevExpress.Wpf.Grid.InfiniteGridSizeException was unhandled -

scala - 'wrong top statement declaration' when using slick in IntelliJ -