我正在尝试使用 java 代码启动一个 oozie 操作。使用命令行时,我们通过“-config job.properties”指定属性文件,它知道选择哪个工作流。我们如何在 java 代码中定义“job.properties”文件来完成同样的任务?
conf.setProperty(OozieClient.APP_PATH,"hdfs://clusterdb05.com:8020/user/apps/merge-logs/workflow.xml");
conf.setProperty("jobTracker", "jobtracker.com:8021");
conf.setProperty("nameNode", "hdfs://namenode.com:8020");
conf.setProperty("queueName", "jobtracker.com:8021");
conf.setProperty("appsRoot", "hdfs://namenode.com:8020/user/apps");
try {
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();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}