フォルダー ie に基づいて oozie ジョブをスケジュールしたい
HDFS の場所にフォルダーがあり、毎日 1 つのファイルが date.txt (exp :20160802.txt) の形式でそのフォルダーに追加されます。
そのフォルダーに新しいファイルが追加された場合は、OOZIE バッチをスケジュールします。
これについて私を助けてください、私のユースケースシナリオでどのようにスケジュールできますか。
前もって感謝します。
フォルダー ie に基づいて oozie ジョブをスケジュールしたい
HDFS の場所にフォルダーがあり、毎日 1 つのファイルが date.txt (exp :20160802.txt) の形式でそのフォルダーに追加されます。
そのフォルダーに新しいファイルが追加された場合は、OOZIE バッチをスケジュールします。
これについて私を助けてください、私のユースケースシナリオでどのようにスケジュールできますか。
前もって感謝します。
Oozie ワークフロー ジョブは、定期的な時間間隔やデータの可用性に基づいて実行されます。また、場合によっては、外部イベントによってトリガーされることもあります。ここでコーディネーターが活躍します。
oozie コーディネーターを使用してデータの依存関係をチェックし、Coordinator EL 関数を使用して oozie ワークフローをトリガーすることができ ます。あなたの場合、毎日ファイルがタイムスタンプ付きで hdfs に追加されます。データセットを使用すると達成できます。
ドキュメントから
例PST8PDT の 00:15 に毎日 1 回生成され、done-flag が空に設定されているデータセット:
<dataset name="logs" frequency="${coord:days(1)}"
initial-instance="2009-02-15T08:15Z" timezone="America/Los_Angeles">
<uri-template>
hdfs://foo:9000/app/logs/${market}/${YEAR}${MONTH}/${DAY}/data
</uri-template>
<done-flag></done-flag>
</dataset>
The dataset would resolve to the following URIs and Coordinator looks for the existence of the directory itself:
[market] will be replaced with user given property. hdfs://foo:9000/usr/app/[market]/2009/02/15/data
hdfs://foo:9000/usr/app/[market]/2009/02/16/data
hdfs://foo:9000/usr/app/[market]/2009/02/17/data
多くの例が記載されているドキュメントを読んでください。
2.データセット