Interface Tool

All Superinterfaces:
Configurable
All Known Implementing Classes:
CLI, Client, DistCp, FileSystemImage, InputSampler, InputSampler, JobClient, LogsCLI, SchedConfCLI, Submitter

@Public @Stable public interface Tool extends Configurable
A tool interface that supports handling of generic command-line options.

Tool, is the standard for any Map-Reduce tool/application. The tool/application should delegate the handling of standard command-line options to ToolRunner.run(Tool, String[]) and only handle its custom arguments.

Here is how a typical Tool is implemented:

     public class MyApp extends Configured implements Tool {
     
       public int run(String[] args) throws Exception {
         // Configuration processed by ToolRunner
         Configuration conf = getConf();
         
         // Create a JobConf using the processed conf
         JobConf job = new JobConf(conf, MyApp.class);
         
         // Process custom command-line options
         Path in = new Path(args[1]);
         Path out = new Path(args[2]);
         
         // Specify various job-specific parameters     
         job.setJobName("my-app");
         job.setInputPath(in);
         job.setOutputPath(out);
         job.setMapperClass(MyMapper.class);
         job.setReducerClass(MyReducer.class);

         // Submit the job, then poll for progress until the job is complete
         RunningJob runningJob = JobClient.runJob(job);
         if (runningJob.isSuccessful()) {
           return 0;
         } else {
           return 1;
         }
       }
       
       public static void main(String[] args) throws Exception {
         // Let ToolRunner handle generic command-line options 
         int res = ToolRunner.run(new Configuration(), new MyApp(), args);
         
         System.exit(res);
       }
     }
 
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    run(String[] args)
    Execute the command with the given arguments.

    Methods inherited from interface org.apache.hadoop.conf.Configurable

    getConf, setConf
  • Method Details

    • run

      int run(String[] args) throws Exception
      Execute the command with the given arguments.
      Parameters:
      args - command specific arguments.
      Returns:
      exit code.
      Throws:
      Exception - command exception.