Вы вызываете ToolRunner.run (..) в цикле внутри вашего основного метода.Обязательно измените свой экземпляр инструмента так, чтобы он вызывал Job.submit()
, а не Job.waitForCompletion()
- чтобы ваши задания выполнялись параллельно, а не последовательно (вы по-прежнему ограничены тем, сколько заданий вы можете запускать параллельно в зависимости от размера / конфигурации кластера):
public class MyDriver extends Configured implements Tool {
public static void main(String args[]) {
for (int x = 0; x < 100; x++) {
ToolRunner.run(new MyDriver(), args);
}
}
public int run(String args) {
Job job = new Job(getConf());
// job set up
// ...
job.submit();
}
}