2016-10-12 9 views
0

私はOozieを初めて使っています。誰かがこの要件で私を助けてくれますか?Oozieでルーピング

ファイル名を保持するArrayListというJavaコードがありました。 ArrayListに10個のファイルが含まれていて、リスト内の各ファイルをループすると、Oozieで別のPigHiveアクションを呼び出す必要があるとします。

私はこれを調べて、直接ループがOozieではサポートされていないことを発見しました。これはoozie sub workflowsです。

誰かがこの問題を解決するために必要なアプローチを教えてください。

答えて

1

ループループはoozieではサポートされていません。

あなたのシナリオでは、私は以下のアプローチを提案します。

  1. workflow.xmlを動的に生成するJavaコードを作成します。
  2. このworkflow.xmlには、最初のJavaアクションと内部ハイブとピグアクションがあり、ループが終了するまでこれらのアクションを何度も繰り返す必要があります。注記アクション名にはフラグが必要です。そのため、各ループアクションの名前が異なる場合にのみ、oozieはワークフローを実行します。

あなたのワークフローは言うだろう:

ループ1 - Javaction1、hiveaction1とpigaction1

ループ2. Javaction2、hiveaction2とpigaction2

はそれがお役に立てば幸いです。