zoukankan      html  css  js  c++  java
  • (转)多个MapReduce作业相互依赖时,使用JobControl进行管理

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

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

       

        step1:

    Java代码  收藏代码
    1. //设置各个Configuration  
    2. Configuration Aconf = new Configuration();  
    3. Configuration Bconf = new Configuration();  
    4. Configuration Cconf = new Configuration();  
    5. Configuration Dconf = new Configuration();  

        step2:

    Java代码  收藏代码
    1. //创建job对象,需要注意的是JobControl要求作业必须封装成job对象  
    2. Job Ajob = new Job(Aconf);  
    3. Job Bjob = new Job(Bconf);  
    4. Job Cjob = new Job(Cconf);  
    5. Job Djob = new Job(Dconf);  

        step3:

    Java代码  收藏代码
    1. //设置依赖关系,构造一个DAG作业  
    2. Bjob.addDepending(Ajob);  
    3. Cjob.addDepending(Ajob);  
    4. Djob.addDepending(Bjob);  
    5. Djob.addDepending(Cjob);  

        step4:

    Java代码  收藏代码
    1. //创建JobControl对象,由他对作业进行监控和调度  
    2. JobControl JC = new JobControl("Native Bayes");  

        step5:

    Java代码  收藏代码
    1. //把四个作业添加到JobControl中  
    2. JC.addJob(Ajob);  
    3. JC.addJob(Bjob);  
    4. JC.addJob(Cjob);  
    5. JC.addJob(Djob);  

        step6:

    Java代码  收藏代码
    1. //提交DAG作业  
    2. JC.run();  

         在实际运行过程中,不依赖于其他任何作业的Ajob优先得到调度,一旦运行完成,Bjob,Cjob两个作业同        时被调度,待他们全部运行完成后Djob被调用,参看上面的依赖的顺序!!!

       

  • 相关阅读:
    HTML&CSS基础-内联样式和内部样式表
    HTML&CSS基础-超链接
    zabbix监控企业esxi虚拟机
    zabbix服务器监控suse系统教程
    HTML&CSS基础-内联框架
    zabbix监控路由器所有接口信息
    HTML&CSS基础-xHtml语法规范
    快速搭建企业subversion
    网易免费邮件开启smtp教程
    zabbix添加邮件报警机制
  • 原文地址:https://www.cnblogs.com/luolizhi/p/4928263.html
Copyright © 2011-2022 走看看