[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1287?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12789323#action_12789323
 ] 

Ed Mazur commented on MAPREDUCE-1287:
-------------------------------------

I haven't ran this, but here's a quick analysis:

- Cost: (_number of map output pairs_)*(_cost of "reducers == 1" check_)
- Gain: (_number of map output pairs_)*(_cost of key's hashCode()_), but only 
in the case of 1 reducer (no gain otherwise)

Your suggestion of moving this into the framework makes a lot of sense. That 
way you only have to check for the 1 reducer case when you assign the 
partitioner and not for every map output, essentially eliminating the cost of 
the optimization.

> HashPartitioner calls hashCode() when there is only 1 reducer
> -------------------------------------------------------------
>
>                 Key: MAPREDUCE-1287
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-1287
>             Project: Hadoop Map/Reduce
>          Issue Type: Improvement
>    Affects Versions: 0.22.0
>            Reporter: Ed Mazur
>            Assignee: Ed Mazur
>            Priority: Minor
>             Fix For: 0.22.0
>
>         Attachments: MAPREDUCE-1287.2.patch, MAPREDUCE-1287.3.patch, 
> MAPREDUCE-1287.patch
>
>
> HashPartitioner could be optimized to not call the key's hashCode() if there 
> is only 1 reducer.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to