MapReduce プログラムのドライバーに「job.setNumMapTasks(int)」を追加できません。追加しようとすると、「ジョブ タイプに対して setNumMapTasks(int) が定義されていません」というコンパイル エラーが発生します。ただし、同等のレデューサー「job.setNumReduceTasks(int)」を追加できます。1つを追加できれば、もう1つを追加できるはずです。以下は私のドライバーです。どんな提案でも大歓迎です。
public int run(String[] args) throws Exception {
Configuration conf = getConf();
Job job = new Job(conf, "PiCalc");
job.setJarByClass(PiCalc.class);
Path in = new Path(args[0]);
Path out = new Path(args[1]);
FileInputFormat.setInputPaths(job, in);
FileOutputFormat.setOutputPath(job, out);
job.setJobName("PiCalc");
job.setNumMapTasks(20);
job.setNumReduceTasks(10);
job.setMapperClass(MapClass.class);
job.setReducerClass(Reduce.class);
job.setInputFormatClass(KeyValueTextInputFormat.class);
job.setOutputFormatClass(TextOutputFormat.class);
job.setOutputKeyClass(IntWritable.class);
job.setOutputValueClass(IntWritable.class);
System.exit(job.waitForCompletion(true)?0:1);
return 0;
}