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

Jay Booth commented on MAPREDUCE-326:
-------------------------------------

Regarding what users want/need, I think a good way to view this would be as 
analoguous to the FSDirectory and IndexInput classes in Lucene.  They could be 
marked "Expert" and most users never have to mess with them -- but users who do 
want to use them have the option.  Then the higher level classes build on the 
new byte-level framework to provide a user friendly view.

I know I'd definitely be interested in this from a user perspective, if we have 
access to this API we could write an internal framework which would be much 
more appropriate for our needs than our current setup.  Specifically, the 
option to launch an arbitrary runtime and give it it's inputsplit information 
over STDIN would be really useful for us, could tell our Mapper and Reducer 
classes if they need to initialize any business services prior to the main run, 
recycle those services across runs, allow more flexibility with custom 
serializers, make it easier to involve a complicated series of InputFormats..  
(we need CombineFileInput and MultipleInput and a custom internal SerDe, which 
in some cases necessitates redundant "gather jobs" prior to "processing jobs").

In short, this would IMO be a godsend to advanced users, while not 
inconveniencing the standard use case and probably making things a little bit 
nicer for MapReduce developers once this refactor is complete (separation of 
concerns and all that).

> 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