Database Reference
In-Depth Information
Table 8-2. Configuration of MapReduce types in the old API
Property
JobConf setter method
Input
types
Intermediate
types
K1 V1 K2
Properties for configuring types:
• •
mapred.input.format.class
setInputFormat()
mapred.mapoutput.key.class
setMapOutputKeyClass()
mapred.mapoutput.value.class
setMapOutputValueClass()
mapred.output.key.class
setOutputKeyClass()
mapred.output.value.class
setOutputValueClass()
Properties that must be consistent with the types:
• • •
mapred.mapper.class
setMapperClass()
• • •
mapred.map.runner.class
setMapRunnerClass()
mapred.combiner.class
setCombinerClass()
mapred.partitioner.class
setPartitionerClass()
mapred.output.key.comparator.class setOutputKeyComparatorClass()
mapred.output.value.groupfn.class setOutputValueGroupingComparator()
mapred.reducer.class
setReducerClass()
mapred.output.format.class
setOutputFormat()
The Default MapReduce Job
What happens when you run MapReduce without setting a mapper or a reducer? Let's try
it by running this minimal MapReduce program:
public class MinimalMapReduce extends Configured implements Tool {
@Override
public int run ( String [] args ) throws Exception {
if ( args . length != 2 ) {
System . err . printf ( "Usage: %s [generic options] <input>
<output>\n" ,
getClass (). getSimpleName ());
ToolRunner . printGenericCommandUsage ( System . err );
return - 1 ;
}
Search WWH ::




Custom Search