0

JavaでPigクエリを動的に生成し、PigServerクラスを使用して同じものを実行しています。ジョブを非同期で送信し、後でジョブの完了をポーリング/フックする方法はありますか?また、豚がそれを許可しない場合、JavaアクションでOozieを使用して目的の動作を実現できますか?

4

2 に答える 2

1

OOZIE のfork および join コントロール ノードを使用して、ジョブを並行して実行できます。

Pig スクリプトのいくつかのプロパティーを変更して実行したいだけであれば、動的コードの実行は簡単です (テンプレート変数を使用できます - Oozie Pig アクションのドキュメントを参照してください)。ただし、動的に異なるコード パスを動的に構築することを意味する場合は、豚のアクションを呼び出す前に豚のスクリプトを HDFS に書き出すためのカスタム Java アクションが必要になります。

于 2013-01-03T11:59:12.760 に答える
0

最初にクエリを適切に投稿してください。上記の説明はよく説明されていません。Javaで非同期にジョブを実行する場合は、スレッドプログラミングを使用する必要があります。このタスクを実行できる「quartz-scheduler」と呼ばれる優れたapacheフレームワークがあります。はオープンソースです。このリンクを参照してください。

http://quartz-scheduler.org/documentation/quartz-2.x/tutorials/

于 2013-01-03T09:49:29.267 に答える