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:19888
i have 2 questions:
- why elapsed times 2 pictures different?
- 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
Post a Comment