2012-04-16 11 views
2

私はjavaプログラムを持っていて、それからリモート( Hadoop)にタスク(jar)を送りたいと思います。私は特定のパラメータを渡す必要があります。
計算タスクが終了したばかりの場合、Javaプログラムはこれを知っていなければなりません。リモートHadoopクラスタへのプロセスの計算とルックアップを実行するにはどうすればよいですか?

私はhadoop APIで実行できますか?
どこで記事を入手できますか?

+0

を使用することにより終了するジョブに待つことができますあなたが何をしようとしているのか正確に – Chaos

+0

私は言いたい、t私は計算を実行する必要はありませんハドープだけでなく、計算が完了したら知っている。それから私は、例えば、他のタスクを開始したい。 – Makros

答えて

0

HadoopにはこのためのAPIがいくつかあります。

job.SetMapperClass()、 job.setReducerClass()、 job.setPartitionerClass()、 job.setInputPath()、:あなたはHadoopのジョブのためのJavaコードを記述するのであれば、次のようなジョブ特性を定義することができます など。

、あなたはあなたの仕事を実行し、あなたはあなたの質問は非常にあいまいである、と私は理解していない

job.waitForCompletion(真)

+0

これは私が必要とするものではありません。
Hadoopクラスタ用にhadoop-moduleを渡す必要があります。それはこのようなものですhttp://weblogs.java.net/blog/boneill42/archive/2011/12/19/programmatically-submitting-jobs-remote-hadoop-cluster。
しかし、私はまだ理解していない、どのようにステータスを計算することができますか、または計算が完了しているかどうか。 – Makros

+0

ジョブが正常に動作するために必要なカスタムコードやサードパーティのライブラリについて話していますか? DistributedCacheメカニズム(クラスの名前だと思います)を使用するか、各サーバー上のTaskTrackerのクラスパスにjarファイルを手作業でコピーします。 – Drizzt321

+0

ジョブのステータスを取得するという点で、JobTrackerと通信してジョブのステータスを取得するためのAPIがあります。これを使用してカウンタを取得するか、または異なるAPIを使用してMap/Reduceコードの書き方に応じて結果を含むHDFSの出力ファイルを取得できます。 – Drizzt321

関連する問題