Oozie coordinator-app:每 N 分钟执行一次作业,可被 M 整除

Oozie coordinator-app: execute job every Nth minute divisible by M

我有一个 Hive 脚本,每 10 分钟使用 Oozie 协调器执行一次。当我启动我的 Oozie 协调器应用程序时,假设我从 08:03 开始,第一个工作流程在那个时候开始,然后是下一个 08:13,然后是 08:23,依此类推。

我想要的是每个时钟时间 hh:mm 执行工作流,其中 mm 可以被 10 整除。假设上面的场景相同,我想要发生的是:第一个工作流将在 08:10,然后是 08:20,依此类推。

我如何在 Oozie 中执行此操作?每 5 分钟一次(该分钟的最后一分钟是 5 或 0)怎么样?感谢您的输入。

为了运行一个频率的协调器工作,你可以使用下面的指令

<coordinator-app name="app" frequency="10" start="2015-07-10T12:00Z" end="2016-01-01T00:00Z" timezone="UTC" xmlns="uri:oozie:coordinator:0.1">

这将 运行 每 10 分钟一次,正好从今天 12:00 UTC 时间开始。每 5 分钟 运行ning 也是如此,只需将 frequency="10" 替换为 frequency="5" 即可。要使其每 N 分钟 运行 被 M 整除,您必须确保 start 参数设置正确。

如果您使用的是较新版本的 Oozie (4.1.0),另一种选择是使用类似 cron 的调度程序。如果您熟悉的话,这将允许您以类似 cron 的方式安排 Oozie 协调器。参见 http://blog.cloudera.com/blog/2014/04/how-to-use-cron-like-scheduling-in-apache-oozie/ and https://issues.apache.org/jira/browse/OOZIE-1306