You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Thomas Kathmann (JIRA)" <ji...@apache.org> on 2009/06/08 09:30:07 UTC

[jira] Commented: (HADOOP-1230) Replace parameters with context objects in Mapper, Reducer, Partitioner, InputFormat, and OutputFormat classes

    [ https://issues.apache.org/jira/browse/HADOOP-1230?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12717179#action_12717179 ] 

Thomas Kathmann commented on HADOOP-1230:
-----------------------------------------

I would recommend the following additions:

- getReader() to MapContext. Sometimes you need more info from the reader than what you get by other methods, and the current implementation gives you no chance to access - besides awkward workarounds by registering readers in static variables.

- Adding setJar() to Job. If you have a project that schedules and runs hadoop jobs, you don't want the scheduler to use the same jar as the one which is distributed to run the jobs. This allows you to redeploy the jar containing the job without any additional effort to load it into the scheduler.

> Replace parameters with context objects in Mapper, Reducer, Partitioner, InputFormat, and OutputFormat classes
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-1230
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1230
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: mapred
>            Reporter: Owen O'Malley
>            Assignee: Owen O'Malley
>             Fix For: 0.20.0
>
>         Attachments: context-objs-2.patch, context-objs-3.patch, context-objs.patch, h1230.patch, h1230.patch, h1230.patch, h1230.patch, h1230.patch
>
>
> This is a big change, but it will future-proof our API's. To maintain backwards compatibility, I'd suggest that we move over to a new package name (org.apache.hadoop.mapreduce) and deprecate the old interfaces and package. Basically, it will replace:
> package org.apache.hadoop.mapred;
> public interface Mapper extends JobConfigurable, Closeable {
>   void map(WritableComparable key, Writable value, OutputCollector output, Reporter reporter) throws IOException;
> }
> with:
> package org.apache.hadoop.mapreduce;
> public interface Mapper extends Closable {
>   void map(MapContext context) throws IOException;
> }
> where MapContext has the methods like getKey(), getValue(), collect(Key, Value), progress(), etc.

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