[
https://issues.apache.org/jira/browse/MAPREDUCE-326?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12833288#action_12833288
]
Chris Dyer commented on MAPREDUCE-326:
--------------------------------------
bq. It would help discussion if Pig, Hive, or Avro had a concrete use case
demonstrating a clear performance win that cannot be implemented in the current
API.
I haven't commented on this thread yet, but I've been following with interest
since I am a representative of the (evidently small) minority of Hadoop users
who don't use Java, and a really solid MapReduce API that doesn't depend on the
Java type system seems to me to be our best hope of promoting non-Java
languages to be first class citizens in Hadoop. I agree thinking in terms of
use cases (hopefully several) is an excellent idea, and I would strenuously
support picking a *non-Java* use-case, such as the Pipes interface, to evaluate
proposals against. Currently, the Pipes implementation does things like
allocate a new array for every byte array object read (search for the
declaration of {{readObject}} in
http://svn.apache.org/repos/asf/hadoop/mapreduce/trunk/src/java/org/apache/hadoop/mapred/pipes/BinaryProtocol.java),
and the whole data flow is fairly insane: marshalling opaque non-Java data up
into Java objects that have their own--admittedly limited--semantics. Anyway,
I think a tremendously beneficial outcome of this project would be a Pipes /
streaming workflow that is more natural and which has the same overhead as the
Java workflow.
> 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.