Hadoop中新老版本MapReduce 中API对比

来源:互联网 发布:java程序调用存储过程 编辑:程序博客网 时间:2024/06/05 07:59

新老版本MapReduce 中InputFormat、OutputFormat,Job API 对比,以JobBuilder函数为例:

package tools;import java.io.IOException;import org.apache.hadoop.conf.Configuration;  import org.apache.hadoop.fs.Path;  //新版本import org.apache.hadoop.mapreduce.Job;import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;/** * 老版本//import org.apache.hadoop.mapred.FileInputFormat;  //import org.apache.hadoop.mapred.FileOutputFormat;  //import org.apache.hadoop.mapred.JobConf;    */import org.apache.hadoop.util.Tool;  public class JobBuilder {      /**老版本    public static JobConf parseInputAndOutput(Tool tool, Configuration conf,              String[] args) {          if (args.length != 2) {              printUsage(tool, "<input><output>");              return null;          }          JobConf jobConf = new JobConf(conf, tool.getClass());          FileInputFormat.addInputPath(jobConf, new Path(args[0]));          FileOutputFormat.setOutputPath(jobConf, new Path(args[1]));          return jobConf;      }      */    public static Job parseInputAndOutput(Tool tool,Configuration conf,            String[] args) throws IOException{        if (args.length != 2) {              printUsage(tool, "<input><output>");              return null;          }          Job job=new Job(conf);        job.setJarByClass(tool.getClass());        FileInputFormat.addInputPath(job, new Path(args[0]));        FileOutputFormat.setOutputPath(job, new Path(args[1]));        return job;    }    public static void printUsage(Tool tool, String extraArgsUsage) {          System.err.printf("Usage:%s [genericOptions] %s\n\n", tool.getClass()                  .getSimpleName(), extraArgsUsage);      }  }  
0 0