使用java代码启动oozie作业

时间:2012-10-11 11:36:06

标签: java hadoop workflow oozie

我正在尝试使用javacode启动oozie作业但无法执行相同操作。下面的代码为像

这样的几行提供了一个异常“未处理的类型oozieClientException”
String jobId = wc.run(conf);

我是java的新手,正在寻求一些帮助。这是我的代码:

    OozieClient wc = new OozieClient("http://host.com:11000/oozie");

    Properties conf = wc.createConfiguration();
    conf.setProperty(....)
    ...
    String jobId = wc.run(conf);
    System.out.println("Workflow job submitted");

    while (wc.getJobInfo(jobId).getStatus() == WorkflowJob.Status.RUNNING) {
       System.out.println("Workflow job running ...");
       Thread.sleep(10 * 1000);
    }
    System.out.println("Workflow job completed ...");


    System.out.println(wc.getJobInfo(jobId)); 

1 个答案:

答案 0 :(得分:0)

您应该关闭try catch块中的代码

try{
    OozieClient wc = new OozieClient("http://host.com:11000/oozie");

    Properties conf = wc.createConfiguration();
    conf.setProperty(....)
    ...
    String jobId = wc.run(conf);
    System.out.println("Workflow job submitted");

    while (wc.getJobInfo(jobId).getStatus() == WorkflowJob.Status.RUNNING) {
       System.out.println("Workflow job running ...");
       Thread.sleep(10 * 1000);
    }
    System.out.println("Workflow job completed ...");


    System.out.println(wc.getJobInfo(jobId)); 
}catch(OozieClientException oozieClientException){
    oozieClientException.printStackTrace();
}

OozieClientException - 如果无法提交作业,则抛出