我有一个只实现Map功能的应用程序。 我正在创建1000个作业,每个作业都有一个独特的PrefixFilter。 例如:
public void startNewScan(String prefix, long endTime)
Job job = new Job(conf, "MyJob");
job.setNumReduceTasks(0);
Scan scan = new Scan();
scan.setTimeRange(0, endTime);
scan.addColumn(Bytes.toBytes("col"), Bytes.toBytes("Value"));
scan.setFilter(new PrefixFilter(prefix.getBytes()));
TableMapReduceUtil.initTableMapperJob(tableName, scan, ExtractMapper.class, ImmutableBytesWritable.class, Result.class, job);
job.waitForCompletion(true);
}
现在 - 我不想等待完成,因为执行1000个工作将永远带我。为每个作业创建一个线程也不是一个选择。 这种用法有什么内置的吗? 像JobsPool那样接受所有工作并且为所有工作都有自己的waitForCompletion ......
提前致谢, UDI
答案 0 :(得分:0)
使用:
job.submit();
"Submit the job to the cluster and return immediately."