4.4 本地测试

Score_Process类继承于Configured的实现接口Tool,上述的Map和Reduce是Score_Process的内部类,它们分别实现了Map和Reduce功能,主函数存在于Score_Process中。下面创建一个Score_Process实例对程序进行测试。

Score_process的run()方法的实现如下:


public int run(String[]args)throws Exception{

Job job=new Job(getConf());

job.setJarByClass(Score_Process.class);

job.setJobName("Score_Process");

job.setOutputKeyClass(Text.class);

job.setOutputValueClass(IntWritable.class);

job.setMapperClass(Map.class);

job.setCombinerClass(Reduce.class);

job.setReducerClass(Reduce.class);

job.setInputFormatClass(TextInputFormat.class);

job.setOutputFormatClass(TextOutputFormat.class);

FileInputFormat.setInputPaths(job, new Path(args[0]));

FileOutputFormat.setOutputPath(job, new Path(args[1]));

boolean success=job.waitForCompletion(true);

return success?0:1;

}


下面给出main()函数,对程序进行测试:


public static void main(String[]args)throws Exception{

int ret=ToolRunner.run(new Score_Process(),args);

System.exit(ret);

}


如果程序要在Eclipse中执行,那么用户需要在run congfiguration中设置好参数,输入的文件夹名为input,输出的文件夹名为output。