Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
Reviewed
-
Replaced parameters with context obejcts in Mapper, Reducer, Partitioner, InputFormat, and OutputFormat classes.
Description
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.
Attachments
Attachments
Issue Links
- blocks
-
MAPREDUCE-252 Create an InputFormat for reading lines of text as Java Strings
- Resolved
- is depended upon by
-
HADOOP-10860 Add serialization for Protocol Buffers
- Open
- is related to
-
MAPREDUCE-342 Create a public scheduler API
- Resolved
-
MAPREDUCE-245 Job and JobControl classes should return interfaces rather than implementations
- Closed
- relates to
-
MAPREDUCE-334 Change mapred.lib code to use new api
- Resolved