Hi experts,

My MR job contains 1000 mappers and 500 reduces, and the average time for
mapper and reducer is both 8~9 minutes. When I checked the mappers' log I
found that step sortAndSpill is spending a significant portion of time.

By my observation and code studying, in sortAndSpill each mapper will sort
all the mapper outputs first, and then output each partition's portion
sequentially to IFile (in my case the output process is accompanied by
compression). The output process for each partition takes only a while
(less than one second), but the 500 such process accumulates hundreds of
seconds.

Since each partitions output process is interleaved with CPU intensive
instructions(compression) and IO intensive constructions(write to disk), it
is natural for me to think about parallelism. However it's surprising to
find that even in the latest branches the sortAndSpill step is still
sequential. So I'm wondering if someone has did research on this and prove
it not to work? Or do we have concerns for this kind of optimization?

Thanks in advance

-- 
Regards,

*Bin Mahone | 马洪宾*
Apache Kylin: http://kylin.io
Github: https://github.com/binmahone

Reply via email to