-
Type:
Improvement
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 0.20.0
-
Component/s: None
-
Labels:None
-
Hadoop Flags:Reviewed
-
Release Note:Replaced parameters with context obejcts in Mapper, Reducer, Partitioner, InputFormat, and OutputFormat classes.
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.
- 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
-