package mil.nga.giat.geowave.analytic.mapreduce.clustering.runner;
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.conf.Configured;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.util.Tool;
public abstract class AnalyticJobRunner extends
Configured implements
Tool
{
@SuppressWarnings("deprecation")
public int runJob()
throws IOException,
InterruptedException,
ClassNotFoundException {
final Configuration conf = super.getConf();
final Job job = Job.getInstance(conf);
job.setJarByClass(this.getClass());
final boolean jobSuccess = job.waitForCompletion(true);
return (jobSuccess) ? 0 : 1;
}
protected abstract void configure(
Job job )
throws Exception;
@Override
public int run(
final String[] args )
throws Exception {
return runJob();
}
}