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

Owen O'Malley commented on MAPREDUCE-326:
-----------------------------------------

@Tom: your proposed map output method is 
{code}
write(int partition, DataOutputBuffer key, DataOutputBuffer value);
{code}

which means that pipes has to copy it into the DataOutputBuffer instead of 
BytesWritable. In both cases, the framework copies it out of that object into 
the map output collector. This is the extra copy that Chris and Arun were 
talking about. The current code writes straight from the serializer into the 
map output collector. In your API the serializer will write into the 
DataOutputBuffer and then need to copy it into the map output collector.


> The lowest level map-reduce APIs should be byte oriented
> --------------------------------------------------------
>
>                 Key: MAPREDUCE-326
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-326
>             Project: Hadoop Map/Reduce
>          Issue Type: Improvement
>            Reporter: eric baldeschwieler
>         Attachments: MAPREDUCE-326-api.patch, MAPREDUCE-326.pdf
>
>
> As discussed here:
> https://issues.apache.org/jira/browse/HADOOP-1986#action_12551237
> The templates, serializers and other complexities that allow map-reduce to 
> use arbitrary types complicate the design and lead to lots of object creates 
> and other overhead that a byte oriented design would not suffer.  I believe 
> the lowest level implementation of hadoop map-reduce should have byte string 
> oriented APIs (for keys and values).  This API would be more performant, 
> simpler and more easily cross language.
> The existing API could be maintained as a thin layer on top of the leaner API.

-- 
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