org.apache.hadoop.util

## Interface Tool

- All Superinterfaces:
    Configurable
  All Known Implementing Classes:
    CommandShell, CredentialShell, DtUtilShell, FindClass, GetGroupsBase, KDiag, KeyShell

      @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
  >              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:
    `GenericOptionsParser`, `ToolRunner`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `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 © 2008–2022 Apache Software Foundation. All rights reserved.