1 つの Oozie ジョブで処理するスクリプトが 3 つあります。ジョブ a、b、c を言います。b と c は、たとえば 11-1 から数日間実行されています。a も含めたいので、そのうちの 3 つが将来的に並行して実行されます。ジョブ a については、b と c がすでに行っていた昔に追いつくようにしたいと考えています。開始時間も 11-1 としていますので、11-1 からスタートします。ここで、決定アクションを示します。
<switch>
<case to="eadp-hive-bf4-old">
${TIMESTAMPnow} gt ${TIMESTAMP}
</case>
<default to="eadp-hive-bf4-events"/>
</switch>
私がやりたいのは、現在の時間が公称時間よりも大きい場合、a; のみを実行することです。現在の時刻がデフォルトの公称時刻である場合、3 つのジョブすべてを実行します。
gt 比較 (より大きい) が正しく機能しておらず、どちらも機能していません>
。
b と c の古いジョブの正確なディレクトリを確認するために使用できる isDir EL がありますが、パーティションとして datetime を使用しているため、パスの datetime 部分は適切なパターンではありません。 .
ワークフローアクションで現在の日時と公称日時を比較して、正しい決定を下す方法はありますか?
ありがとう。