2012-02-07 1 views
0

У меня есть набор заданий mapreduce, которые мне нужно выполнить из моей программы Java. Сейчас я их выполнение через процесс Java вызывающийВыполнение задания Mongo mapreduce на машине без монго установлено

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

Есть ли способ, которым я мог бы выполнить эти MapReduce Такс на машине, которая не имеет Монго. Поддерживает ли драйвер mongo Java такую ​​функциональность?

Спасибо!

ответ

2

MongoDB MapReduce рабочие места всегда выполняются на сервере Монго, никогда в клиенте, и любой клиент может отправить задание на сервер ,

@ Крис Шейн указал вам на документы (http://api.mongodb.org/java/current/com/mongodb/MapReduceCommand.html), и я рекомендую вам их прочитать, но также понимаю, что большинство операций MapReduce будет около , уменьшая огромные объемы данных, хранящихся в вашей базе данных, до меньших наборов результатов. Чем ближе это делается к тому, где данные фактически хранятся, тем лучше, и большинство людей не выполняют команды непосредственно на сервере. Чтобы операция MapReduce была полезной, Mongo должен был (и сделал!) Предоставить способ использовать ее от клиента. Для общих стратегий см. Здесь: http://www.mongodb.org/display/DOCS/MapReduce

Обратите внимание, что поскольку операция выполняется на сервере, вы можете заметить увеличенный процент блокировки. Рассмотрите возможность запуска задания MapReduce на подчиненном или вторичном экземпляре Mongo, если это проблема для вас.

Смежные вопросы