hadoop-0.20.2版本:
public int run(String[] args) throws Exception {
Configuration conf = getConf();
JobConf job = new JobConf(conf, TestSdfInputFormat.class);
Path in = new Path(args[0]);
Path out = new Path(args[1]);
FileInputFormat.setInputPaths(job, in);
FileOutputFormat.setOutputPath(job, out);
job.setJobName("TestSdfInputFormat");
job.setMapperClass(MapClass.class);
job.setNumReduceTasks(0);.//设置Reduce个数为0
job.setInputFormat(SdfTextInputFormat.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(Text.class);
JobClient.runJob(job);
return 0;
}
hadoop-1.0.0版本:
public static void main(String[] args) throws Exception {
Job job = new Job();
Path out = new Path(args[1]);
FileInputFormat.setInputPaths(job, new Path(args[0]));
FileOutputFormat.setOutputPath(job, out);
job.setJobName("TestSdfInputFormat");
job.setMapperClass(TargetMapper.class);
job.setInputFormatClass(SdfTextInputFormat.class);
job.setOutputKeyClass(Text.class);
job.setNumReduceTasks(0);//设置个数为0
job.setOutputValueClass(Text.class);
System.exit(job.waitForCompletion(true)?0:1);
}
如果不设置的话,MapReduce会按照默认的Reduce处理。
也可以在mapred-site.xml下设置:
<property>
<name>mapred.reduce.tasks</name>
<value>0</value>
</property>
但是不知道应该怎么在eclipse使之生效。