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。