依赖关系组合式MapReduce
答案是采取JobControl,直接上代码。
JobControl依赖关系组合式MpaReduce。
旧版实现:org.apache.hadoop.mapred包下
Configuration job1conf = new Configuration(); Job job1 = new Job(job1conf,"Job1"); .........//job1 其他设置 Configuration job2conf = new Configuration(); Job job2 = new Job(job2conf,"Job2"); .........//job2 其他设置 Configuration job3conf = new Configuration(); Job job3 = new Job(job3conf,"Job3"); .........//job3 其他设置 job3.addDepending(job1);//设置job3和job1的依赖关系 job3.addDepending(job2); JobControl JC = new JobControl("123"); JC.addJob(job1);//把三个job加入到jobcontorl中 JC.addJob(job2); JC.addJob(job3); JC.run();
新版api实现:org.apache.hadoop.mapreduce.lib.jobcontrol.*(在hadoop 0.20.2还没有,hadoop 1.x已经有了)
使用该包下的ControlledJob与JobControl
/** * 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()方法,线程将无法结束。要调用JobControl.stop()才能停止
相关推荐
hadoop-api中文说明文档
Hadoop2.6版本稳定版API文档CHM文件
hadoop api hadoop apihadoop api hadoop api hadoop api
赠送jar包:hadoop-yarn-api-2.5.1.jar; 赠送原API文档:hadoop-yarn-api-2.5.1-javadoc.jar; 赠送源代码:hadoop-yarn-api-2.5.1-sources.jar; 赠送Maven依赖信息文件:hadoop-yarn-api-2.5.1.pom; 包含翻译后...
hadoop中文版API.chm文件,查找hadoop的类中方法、方法的用法等,方便、好用
自己下载完整的API文档后编译的,Hadoop 2.6.0 API CHM版
开源分布式架构Hadoop 0.20.2版的Java API文档,使用Hadoop都需要它
Hadoop 2.7.4 API 帮助文档 ,这份帮助文档很全,包括了源码等等,你值得拥有。
Hadoop API帮助文档,学习Nutch和Hadoop必备
hadoop的api手册,包含hadoop开放的编程接口及参数说明
教你如何查看API及使用hadoop新api编程
hadoop-api.rar...介绍使用编码/解码器的典型实例(代码在org.hadoopinternal.compress包中)。其中,compress()方法接受一个字符串参数,用于指定编码/解码器,并用对应的压缩算法对...
Hadoop 2.10.0中文版API
hadoop2的参考文档,可以帮助开发者快速高效的开发,解压缩之后点击index.html即可进入api首页
赠送jar包:hadoop-yarn-api-2.5.1.jar; 赠送原API文档:hadoop-yarn-api-2.5.1-javadoc.jar; 赠送源代码:hadoop-yarn-api-2.5.1-sources.jar; 包含翻译后的API文档:hadoop-yarn-api-2.5.1-javadoc-API文档-...
文件分布式存储 hadoop 官方 文档 chm格式 api
这是hadoop的API介绍,对于学习很有帮助
hadoop filesystem api常见使用说明
hadoop 1.2 api 伪中文版。支持即时查询,高级查询。方便编码学习。 大数据炙手可热!hadoop是一个大数据分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分...
hadoop-0.20.2的api英文文档,