0

Java プログラムから実行する必要がある一連の mapreduce ジョブがあります。今、私は Java Process 呼び出しを介してそれらを実行しています

$MONGO_HOME/bin/mongo host:port/database jsFiles

Mongo を搭載していないマシンでこれらの mapreduce taks を実行する方法はありますか。mongo Java ドライバーはそのような機能をサポートしていますか?

ありがとう!

4

2 に答える 2

2

MongoDB MapReduce ジョブは常にMongo サーバーで実行され、クライアントでは実行されず、どのクライアントもジョブをサーバーに送信できます。

@Chris Shain はドキュメント (http://api.mongodb.org/java/current/com/mongodb/MapReduceCommand.html) を指摘しました。それらを読むことをお勧めしますが、ほとんどの MapReduce 操作がすべてであることも理解してください。データベースに保存されている大量のデータをより小さな結果セットに削減します。これは、データが実際に保存されている場所に近いほど効果的であり、ほとんどの人はサーバー上で直接コマンドを実行しません。MapReduce 操作が有用であるためには、Mongo はクライアントからそれを使用する方法を提供する必要があります (実際に提供しました!)。一般的な戦略については、こちらを参照してください: http://www.mongodb.org/display/DOCS/MapReduce

操作はサーバー上で実行されるため、ロックのパーセンテージが増加する場合があることに注意してください。これが問題になる場合は、スレーブまたはセカンダリ Mongo インスタンスで MapReduce ジョブを実行することを検討してください。

于 2012-02-07T01:31:53.497 に答える
1

Mongo の Java クライアント ドライバーにはMapReduceCommandがあります。

于 2012-02-07T01:26:21.937 に答える