使用 Oozie 执行协调器操作的输入条件

Input conditions to execute coordinator action using Oozie

我是 oozie 的新手。我想将我的协调器配置为仅当我的输入文件夹中出现四个文件时才执行。我对 oozie 文档进行了一些搜索,发现我可以将输入事件与数据集一起使用。

  <datasets>
    <dataset name="dinput" frequency="${coord:days(1)}"
             initial-instance="${start_date}" timezone="UTC">
      <uri-template>myInputFolder</uri-template>
      <done-flag></done-flag>
    </dataset>
  </datasets>
  <input-events>
    <data-in name="input" dataset="dinput">
      <instance>${coord:current(0)}</instance>
    </data-in>
  </input-events> 

有人可以指导我这样做吗?

Oozie 的 <dataset><input-events> 标签的目的是处理数据以特定间隔进入并落入日期分区目录结构中的常见情况。这就是 Oozie 最擅长的地方。

如果这不适合您的用例,我的建议是编写一些代码来检查您的文件,并使用 shell 或 [=16] 在 Oozie 操作中 运行 它=] 动作类型。我认为如果您的文件不存在,此操作可能会向 Oozie 发送失败代码以停止工作流程,并且此操作将先于您的工作流程的实际逻辑。