2016-09-29 9 views
0

私は3つの異なるテーブルセットを持っています。第1セットは3つのテーブルを含み、第2セットは4つのテーブルを含み、第3セットは5つのテーブルを含む。今、私は、これらの3つのセットすべてを、Oozieのワークフローで(互いに独立して)並列に開始する必要があります。異なるテーブルセットを並列に実行するワークフロー

誰もが同じサンプルワークフローを提案することはできますか。

set1   set2    set3 
Job11  job21    job31 
job12  job22    job32 
job13  job23    job33 
      job24    job34 
           job35 

私はどんな仕事がいずれかのセットのための任意の一環として失敗した場合、その後、私は他のセットを続けていきたいと失敗したためにセットで失敗するか待つべきではないような方法でワークフローの設定をしたいです。

答えて

0

OozieワークフローのForkおよびJoinコントロールノードを使用できます。すべてのテーブルに対して並列にアクションを実行する場合は、各テーブルのアクションを記述してフォークノードに追加します。または、並列に設定する場合は、そのようにすることができます。あなたがここでより多くの情報を見つけることができます

<workflow-app name="[WF-DEF-NAME]" xmlns="uri:oozie:workflow:0.5"> 
    ... 
    <fork name="[FORK-NODE-NAME]"> 
     <path start="[NODE-NAME]" /> 
     ... 
     <path start="[NODE-NAME]" /> 
    </fork> 
    ... 
    <join name="[JOIN-NODE-NAME]" to="[NODE-NAME]" /> 
    ... 
</workflow-app> 

のApache Oozieのドキュメントからのサンプルワークフローあなたが何ができるかFork and Join Control Nodes

+0

ワークフローの設定をして、ジョブがいずれかのセットの一部として失敗した場合、他のセットを続行し、失敗したセットが原因で失敗したり待機しないようにします。 –

+0

自分で試してみることをお勧めします。 – YoungHobbit

0

は、3つの別々のワークフローを作成し、各の <error to=""><ok to="">パラメータの両方を設定しています次のジョブへのジョブアクション、エラーを無視してジョブを移動するだけです。

ワークフローを並行して実行するには、Oozie fork specificationというフォークを使用するか、Falconをインストールしている場合は、同時にスケジュールされた3つのFalconプロセスを作成するだけです。これにより、必要な機能が提供されます。

唯一の問題は、ジョブが失敗したかどうかを実際に追跡する方法がないことです。

関連する問題