hadoop 常用命令

[(转)多个MapReduce作业相互依赖时,使用JobControl进行管理]

原文地址:http://mntms.iteye.com/blog/2086990

要处理复杂关系的数据,一个工程里面绝对不止一个MapReduce作业,当有多个MapReduce作业时, 并且每个作业之间有依赖关系,所谓的依赖就是一个作业得到的结果是另外一个作业的输入,这个时候我们可 以使用JobControl吊用其中的的addDepending()方法,管理每个MapReduce工作间的依赖关系,具体的 示例如下:

//设置各个Configuration  
Configuration Aconf = new Configuration();  
Configuration Bconf = new Configuration();  
Configuration Cconf = new Configuration();  
Configuration Dconf = new Configuration();  
//创建job对象,需要注意的是JobControl要求作业必须封装成job对象  
Job Ajob = new Job(Aconf);  
Job Bjob = new Job(Bconf);  
Job Cjob = new Job(Cconf);  
Job Djob = new Job(Dconf);
//设置依赖关系,构造一个DAG作业  
Bjob.addDepending(Ajob);  
Cjob.addDepending(Ajob);  
Djob.addDepending(Bjob);  
Djob.addDepending(Cjob); 
//创建JobControl对象,由他对作业进行监控和调度  
JobControl JC = new JobControl("Native Bayes"); 
//把四个作业添加到JobControl中  
JC.addJob(Ajob);  
JC.addJob(Bjob);  
JC.addJob(Cjob);  
JC.addJob(Djob); 
//提交DAG作业  
JC.run();  
在实际运行过程中,不依赖于其他任何作业的Ajob会优先得到调度,一旦运行完成,Bjob,Cjob两个作业同        时被调度,待他们全部运行完成后Djob被调用,参看上面的依赖的顺序!!!
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 启动Hadoop所有进程:start-all.sh 关闭Hadoop所有进程:stop-all.sh 单进程启动:...
    在努力的Jie阅读 187评论 0 0
  • 启动Hadoop 进入HADOOP_HOME目录。 执行sh bin/start-all.sh 或者是在ha...
    零点145阅读 665评论 0 0
  • 1--hadoop dfsadmin -report/-refreshNodes2--hadoop balance...
    awanke阅读 1,713评论 0 1
  • 启动Hadoop进入HADOOP_HOME目录。执行sh bin/start-all.sh 关闭Hadoop进入H...
    HOHOOO阅读 321评论 0 2
  • 这段话,是叶,某一天看一首音乐评价无意中看到的。其实叶想讲的是上面讲得对。人活在这世间若是总怪罪于别人的话,...
    古夏叶阅读 267评论 1 1

友情链接更多精彩内容