我想使用java代碼啓動oozie動作。當使用命令行時,我們通過「-config job.properties」指定屬性文件,它知道要選擇哪個工作流。我們如何在java代碼中定義「job.properties」文件來完成相同的任務?在java代碼中設置job.properties文件來啓動oozie動作
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();
}
你是如何試圖調用通過Java Oozie的股票代碼 – banjara
@zuxqoj這個代碼只是運行的工作流程和失敗,因爲它無法獲取屬性文件。我想要的只是定義屬性文件,就像我們爲命令行做的那樣,而其他所有內容都從那裏向前移動。任何幫助? – Chirag
你不怎麼處理job.properties? – CycDemo