首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

使用JobControl管理地图reduce多job依赖

2013-03-26 
使用JobControl管理mapreduce多job依赖/** * job2 依赖于 job1 * @param job1 * @param job2 * @param cha

使用JobControl管理mapreduce多job依赖
/** * job2 依赖于 job1 * @param job1 * @param job2 * @param chainName * @return * @throws IOException */public static int handleJobChain(Job job1 ,Job job2, String chainName) throws IOException{ControlledJob controlledJob1 = new ControlledJob(job1.getConfiguration());controlledJob1.setJob(job1);ControlledJob controlledJob2 = new ControlledJob(job2.getConfiguration());controlledJob2.setJob(job2);controlledJob2.addDependingJob(controlledJob1);JobControl jc = new JobControl(chainName);jc.addJob(controlledJob1);jc.addJob(controlledJob2);Thread jcThread = new Thread(jc);jcThread.start();while(true){if(jc.allFinished()){System.out.println(jc.getSuccessfulJobList());jc.stop();return 0;}if(jc.getFailedJobList().size() > 0){System.out.println(jc.getFailedJobList());jc.stop();return 1;}}}

?

要注意的地方就是hadoop的JobControl类实现了线程Runnable接口。我们需要实例化一个线程来让它启动。直接调用JobControl的run()方法,线程将无法结束。

?

热点排行