org.apache.hadoop.util
Interface Tool

All Superinterfaces:
Configurable
All Known Implementing Classes:
CLI, InputSampler, InputSampler, JobClient, LogDumper, MigrationTool, Submitter

@InterfaceAudience.Public
@InterfaceStability.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
         JobClient.runJob(job);
         return 0;
       }
       
       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:
GenericOptionsParser, ToolRunner

Method Summary
 int run(String[] args)
          Execute the command with the given arguments.
 
Methods inherited from interface org.apache.hadoop.conf.Configurable
getConf, setConf
 

Method Detail

run

int run(String[] args)
        throws Exception
Execute the command with the given arguments.

Parameters:
args - command specific arguments.
Returns:
exit code.
Throws:
Exception


Copyright © 2013 Apache Software Foundation. All Rights Reserved.