[ https://issues.apache.org/jira/browse/MAPREDUCE-326?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12834367#action_12834367 ]
Tom White commented on MAPREDUCE-326: ------------------------------------- bq. ... 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. The point is that the map output collector is backed by the DataOutputBuffers that are passed to the write method, so there is no extra copy. At least, this was true until MAPREDUCE-64 was committed (around the time I was writing the proposal). Now it uses a different buffer object (BlockingBuffer, which is a DataOutputStream), so really DataOutputBuffer should be replaced by DataOutputStream in the write() method signature. > 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.