hadoop2.2编程:从default mapreduce program 来理解mapreduce

时间:2023-03-08 19:07:30

下面写一个default mapreduce 的程序:

 import org.apache.hadoop.mapreduce.Mapper;
 import org.apache.hadoop.mapreduce.Reducer;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.conf.Configured;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.util.Tool;
 import org.apache.hadoop.util.ToolRunner;
 import org.apache.hadoop.mapreduce.Job;
 import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
 import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; 

 public class DefaultMapReduce extends Configured implements Tool {
     @Override
     public int run(String[] args) throws Exception {
         Configuration conf = getConf();
         Job job = Job.getInstance(conf);
         job.setJarByClass(getClass());
         job.setNumReduceTasks(10);

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

         return job.waitForCompletion(true) ? 0 : 1;
     }

     public static void main(String[] args) throws Exception {
         ToolRunner.run(new DefaultMapReduce(), args);
     }
 }