Hadoop с плагином mongodb – чтение данных

Я знаю, что можно читать и записывать данные из mongodb через hadoop.

Я хочу знать, использует ли этот адаптер при чтении данных из коллекции mongodb собственный драйвер mongodb, поэтому он использует экземпляр mongod или этот адаптер считывает сбор данных напрямую?

Кроме того, когда hadoop считывает данные mongodb для обработки в уменьшении карты, это уменьшение карты hadoop не блокирует сбор данных mongodb?

Другими словами, когда hadoop считывает данные mongodb, hadoop сохраняет эти данные для использования в Hadoop, а Hadoop не мешает данным mongodb, потому что, когда Hadoop выполняет mapreduce, он работает с извлечением данных с помощью mongodb, но сохраняет внутреннюю часть в Hadoop для обработки?


person paganotti    schedule 26.03.2012    source источник


Ответы (1)


Никакие данные не кэшируются и не сохраняются в Hadoop с помощью подключаемого модуля mongo-hadoop.

Вместо этого каждый фрагмент считывается в Hadoop как отдельное входное разделение для распараллеливания задания Hadoop MapReduce.

Единственная блокировка, которая происходит в mongodb, — это легкая блокировка чтения, когда данные считываются из Mongo.

person Brendan W. McAdams    schedule 26.03.2012
comment
Спасибо! поэтому, если я правильно понимаю, я могу безопасно выполнить уменьшение карты на хаупе, потому что он работает с данными, сохраненными в хаупе. Итак, сначала, если hadoop читает сбор больших данных, mongodb делает блокировку чтения, после того как он прочитает все данные, ничего не блокируется в mongodb, и hadoop выполняет mapreduce для данных, сохраненных в Hadoop. - person paganotti; 27.03.2012