[Moscow.pm] Идеальный Map-ер и Reduce-ер

Монашёв Михаил postmaster на softsearch.ru
Ср Янв 21 05:43:39 PST 2009


Здравствуйте, Руслан.

Мапер и редьюсер должны иметь 3 фазы: инициализация, обработка данных,
финал.  Причём  в  каждой  фазе  можно  выплёвывать наружу данные. Так
например при инициализации можно выставить в ноль какие-то счётчики, в
обработке их накрутить, а в финале - выплюнуть.

Прочитал  твои  мысли и пришёл к выводу, что фаза обработки пропускает
через  себя  и  выдаёт наружу много данных. Не разумно накапливать эти
данные  в  переменных.  Оперативной  памяти  не хватит в общем случае.
Должна  быть  мини-функция,  которая получит ОДНУ пару ключ->значение,
обработает её и СРАЗУ выплюнет результат, если он имеется.

Я  никогда не использовал memcachdb и не знаю про его стабильность, но
мне  видится  полезным  его  функционал  в том плане, что это надёжное
хранилище  (если один memcachdb умирает и он реплицировался, то тут же
избирается  другой мастер среди слейвов и вроде данные не теряются). У
него  есть  команда  append(),  что позволяет результаты работы разных
маперов  средствами memcachdb сразу аппендить. У него есть возможность
получить  все  ключи,  что  позволяет  редьюсерам, запущенным на одной
машине  с  memcachdb  получать  все  предназначенные  для  него данные
локально.

-- 
С уважением,
Монашёв Михаил, SoftSearch.ru
mailto:postmaster на softsearch.ru
ICQ# 166233339
http://michael.mindmix.ru/
Без бэкапа по жизни.



Подробная информация о списке рассылки Moscow-pm