I am using 0.20.2. So, you mean mapred.reduce.parallel.copies is the number of map outputs from which a reduce task can concurrently read the data from? I understand that it is the number of concurrent threads on ReduceTask. But what is the source of each of these threads? Is it a single slave node or it is a single partition value sent over a particular map?

Thanks
Virajith

On 6/28/2011 9:59 PM, Ted Yu wrote:
Which hadoop version are you using ?
If it is 0.20.2, mapred.reduce.parallel.copies is the number of copying threads in ReduceTask

In the scenario you described, at least 2 concurrent connections to a single node would be made.

I am not familiar with newer versions of hadoop.

On Tue, Jun 28, 2011 at 11:31 AM, Virajith Jalaparti <virajit...@gmail.com <mailto:virajit...@gmail.com>> wrote:

    Hi,

    I have a question about the "mapred.reduce.parallel.copies"
    configuration parameter in Hadoop. The mapred-default.xml file
    says it is "The default number of parallel transfers run by reduce
      during the copy(shuffle) phase."
    Is this the number of slave nodes from which a reduce task reads
    in parallel? or is it the number of parallel intermediate outputs
    from map task which a reducer task can read from?

    For example, if I have 4 slave nodes and run a job with 800 maps
    and 4 reducers with mapred.reduce.parallel.copies=5. Then can each
    reduce task read from all the 4 nodes in parallel i.e. it can
    makes only 4 concurrent connections to the 4 nodes present? or can
    it read from 5 of the 800 map outputs i.e. it makes at least 2
    concurrent connections to a single node?

    In essence, I am trying to determine how many reducers would be
    accessing a single disk, concurrently, in any given Hadoop cluster
    for any job configuration as a function of the various parameters
    that can be specified in the configuration files.

    Thanks,
    Virajith


Reply via email to