版权声明:如若转载,请联系作者。 https://blog.csdn.net/liu16659/article/details/85169518
Hadoop Tool
接口详解
1. 详解
1.1 简介
public interface Tool
extends Configurable
继承自Configurable
的接口。
1.2 释义
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.
一个tool
接口用于支持处理普通的命令行参数。
Tool,代表的是任何抽象的Map-Reduce
工具/应用。Tool/application
应该代表 ToolRunner.run(Tool,String[])
标准命令行的处理,以及处理自定义的参数。
Here is how a typical Tool is implemented.
如下是一个典型的Tool
实现
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);
}
}
继承了Configured
类,实现了Tool
接口。
2. 方法详解
run(String[] args)
getConf()
和setConf
方法
这两个方法都是从Configurable
接口中继承下来的。
3. 实战案例
此处略