1

フォルダー内のファイルを読み取り、zipに追加するmapReduceタスク(https://github.com/flopezluis/testing-hadoop)があります。このタスクは永久に実行する必要があるため、処理が終了したら、再度実行する必要があります。私はoozieについて読んでいますが、それが私の問題には大きすぎるので、それが最適かどうかはわかりません。

oozieが最善の解決策である場合。10分ごとに実行するコーディネーターを作成した場合、タスクに10分以上かかると、コーディネーターはタスクの再実行を待機します。

タスクの説明

フォルダは常に同じです。zipファイルには違いがあります。1つはキー用です。アイデアは、zipファイルを段階的に作成することです。これは、すべてのファイルが処理された後にzipファイルを作成するよりも速いと思います。ファイルには次のようなものが含まれています。

<info operationId="key1">
 DATA1
</info>
<info operationId="key1">
DATA2
</info>
<info operationId="key2">
DATA3
</info>

したがって、zipは次のようになります。

key1.zip-> data1、data2

key3.zip-> data3

ありがとう

4

2 に答える 2

3

これには oozie を使用できます。Oozie には、一度に実行できるジョブのインスタンス数を制限する設定があります。最初のジョブが数分後に終了しない場合、次のジョブの実行を待機します。

Oozie のドキュメントから:

6.1.6. コーディネーター アクションの実行ポリシー コーディネーター ジョブのアクションの実行ポリシーは、コーディネーター アプリケーションで定義できます。• タイムアウト: コーディネーター ジョブは、そのコーディネーター アクションのタイムアウトを指定できます。これは、コーディネーター アクションが実行を断念する前に待機中または準備完了状態になる時間です。• 並行性: コーディネーター ジョブは、コーディネーター アクションの並行性を指定できます。これは、コーディネーター エンジンが調整を開始する前に、同時に実行できるコーディネーター アクションの数 (RUNNING ステータス) です。• 実行戦略: コーディネーター エンジンにコーディネーター アクションのバックログがある場合、コーディネーター ジョブはそのコーディネーター アクションの実行戦略を指定できます。異なる実行戦略は、「古い順」、「新しい順」、および「最後の1つだけ」。バックログは通常、入力データの遅延、同時実行制御、またはコーディネーター ジョブの手動再実行が原因で発生します。

http://archive.cloudera.com/cdh/3/oozie-2.3.0-CDH3B4/CoordinatorFunctionalSpec.html#a6.1.6._Coordinator_Action_Execution_Policies

また、DataSet を使用してデータの到着時に調整ジョブをトリガーできることもコメントしたかったのですが、私は DataSet にあまり詳しくありません。

于 2012-07-05T01:40:16.700 に答える
1

異なる入力ファイルで同じHadoopジョブを繰り返し実行するだけでよい場合、Oozieはやり過ぎかもしれません。テストベッドにOozieをインストールして構成するのにも時間がかかります。Hadoopジョブを繰り返し送信するスクリプトを作成するだけで十分な場合があります。

しかしとにかく、Oozieはそれを行うことができます。同時実行性を1に設定すると、実行ステータスで最大1つのoozieコーディネーターアクション(この場合、1つのhadoopジョブのみを含むワークフローである必要があります)があります。ただし、同時実行しきい値を増やして、より多くのアクションを同時に実行できるようにすることができます。

于 2012-09-26T18:02:15.933 に答える