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

Монашёв Михаил postmaster на softsearch.ru
Пн Янв 19 05:14:28 PST 2009


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

Каждый  редьсер  может  получать данные от ВСЕХ маперов. Поэтому имеет
смысл  привязывать  маперы  к читаемым ими данных. А редьюсеры как раз
наоборот  должны  быть  равномерно  загружены,  получив  равные порции
данных от всех маперов.

> Посмотрел Hadoop и у них есть Combiner для этого:

> "Users can optionally specify a combiner, via
> JobConf.setCombinerClass(Class), to perform local aggregation of the
> intermediate outputs, which helps to cut down the amount of data
> transferred from the Mapper to the Reducer."

> Прежде чем прочитал, то подумал об этом. Фактически Reducer, который
> будет выполнен на той же ноде сразу после мапера. В Parallel-MapReduce
> такого нет и придется его совмещать с мапером. Типа если считаем
> количество вхождений слов в текст, то делаем не:

> sub map { return map { $_ => 1} grep length, split /\s+/ };

> а что-то типа:

> sub map { my %res; $res{$_}++ for grep length, split /\s+/; return %res };

> Пошел читать дальше.

> 2009/1/19 Михаил Монашёв <postmaster на softsearch.ru>:
>> Здравствуйте.
>>
>> Вот  думаю  перейти с написания скриптов, обрабатывающих например всех
>> юзеров,   к   написанию   функций   для  MapReduce.  А  потому, хотел
>> поинтересоваться, как народ в компаниях вроде Яндекса, Рамблера, Супа,
>> Мыла и других реализует гугловский MapReduce?
>>
>> На  спане  нашёл
>> http://search.cpan.org/dist/Parallel-MapReduce/ , что
>> весьма любопытно.
>>
>> Как   например  решается  проблема  перекачки  и  накопления  большого
>> количества данных между фазами Map и Reduce и между одним MapReduce-ом
>> и другим MapReduce-ом?



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



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