Oozieワークフロー、コーディネーター、バンドルの違いは何ですか?
Oozieワークフローは、一連のアクションを定義します。また、実行するたびに手動で呼び出す必要があります。コーディネーターを通じて同じワークフローをスケジュールすることができます。この理解は正しいですか?
それでは、バンドルには何が追加されますか?
コーディネーターのセットをスケジュールするために再び使用されると思います。それでは、あるワークフローが別のサブワークフローを持つことができるように、あるコーディネーターを使用して他のコーディネーターをスケジュールできないのはなぜですか。
ワークフロー:
これは一連のアクションです。これはxmlで記述されており、アクションはmap reduce、Hive、pigなどです。
コーディネーター:
これは、一連の条件が満たされたときにアクション(通常はワークフロージョブ)をトリガーするプログラムです。条件は、時間周波数、その他の外部イベントなどです。
バンドル:
これは、一連のコーディネータージョブをバッチ処理する高レベルのoozie抽象化として定義されています。バンドルジョブを開始する時間を指定することもできます。
ワークフローには、Hadoopジョブを実行するための時間仕様がありません。コーディネータージョブには、頻度タグを使用したcoordinator.xmlのジョブに関する時間仕様があります。集合コーディネータージョブは、バンドルジョブと見なされます。バンドルジョブでは、個々のユーザーは、job.propertiesを使用して、それぞれのジョブに独自のジョブを割り当てることができます。
私の理解では、バンドルを使用すると2人のコーディネーターをグループ化できるため、マネージャー、表示、開始/停止を行う方がよいでしょう...
2つのデータパイプラインがある可能性があります。1つはログ処理(収集/解析/ ETL)用で、もう1つはビジネスロジック用です。
次に、2つのバンドルを作成して、さまざまな種類のコーディネーターをグループ化します。