我正在触发Oozie工作流作为通过Python的子进程模块执行的shell命令。
Popen("oozie job -config workflow.properties -run".split())
我的程序的其余部分的执行取决于此工作流程中各种操作的成功或失败。当以交互方式触发Oozie作业时,我会找回一个Oozie jobID,我可以用它来监视作业的成功/失败状态
oozie job -info <jobId>
我想通过Python以编程方式访问各种操作节点的状态。有没有办法实现这个目标?
到目前为止我尝试了什么:
完成作业后,Oozie MapReduce操作会在输出文件夹中放置_SUCCESS
文件。我每2秒轮询一次这个文件的存在。但是,我想知道是否有直接的API / Shell调用来获取操作节点的状态。
相关(问题) This帖子讨论了相反的问题:通过Oozie触发Python工作而不回答我的问题。
答案 0 :(得分:0)
您有RESTAPI来访问日志状态..甚至提交Oozie作业并监控它!我们可以将RESTAPI传递给oozie-server,我们可以定期将其取出!BTW它可以适用于我们可以在oozie中提交的所有工作。
为你参考:https://oozie.apache.org/docs/4.1.0/WebServicesAPI.html