0

Tomcat サーバーがあり、いくつかのサーブレット、(hadoop を使用して作成された) mapreduce ジョブがあり、pig もインストールされており、すべてが hadoop がある場所と同じクラスターに配置されています。

ここで、サーブレットが mapreduce プログラム (または pig スクリプト) を実行し、mapreduce プログラムによって返された結果を表示できるようにする必要があります。mapreduce ジョブを実行して結果を返すサーブレットを作成する方法はありますか?

++ exec または ProcessBuilder を呼び出すだけで、サーブレットに mapreduce ジョブ (または pig スクリプト) を実行させることができると思います。間違っている場合は、ここで訂正してください。

++ ただし、mapreduce ジョブ (または pig スクリプト) は HDFS で結果を生成します。これは、結果を取得してサーブレットにフィードバックする方法が不明な場所です。アマチュアで非効率的と思われる 1 つの解決策は、ProcessBuilder (または exec) を再度使用して HDFS からローカルに結果をコピーし、そこから結果を読み取ることです。

共有できる提案をいただければ幸いです。

4

1 に答える 1

1

hdfs の REST インターフェイスを使用して、hdfs からファイルを取得できます。

REST URL は次のようになります。

http://something.net:50070/webhdfs/v1/path/to/output

ところで、ジョブを送信するには、「exec」の代わりに oozie のクライアント API を使用して送信することもできます。Oozie のクライアント API ははるかに優れています。

于 2013-07-02T15:19:33.147 に答える