2012-05-07 4 views
2

Если у меня есть, скажем, миллион записей по Mongo DB и каждая запись размером 5 КБ. Скажем, я хочу запустить Map-Reduce по этим данным и хочу оценить оперативную память, необходимую для этого приложения. Во время операции уменьшения карты не будет читаться или записываться в эту БД. Map-reduce собирает агрегирование некоторых записей и делает логические сравнения агрегированных записей.Какова процедура расчета рабочего набора?

Я хотел бы понять, как map-reduce приведет данные в ОЗУ и, следовательно, как должен вычисляться рабочий набор (например: следует ли считать, что 1 MM x 5 Кб будет моим рабочим набором).

ответ

1

Как я понимаю, рабочий набор для задания «Уменьшить карту» будет представлять собой весь набор данных, в которых вы будете использовать функцию map(). Например, если ваши данные являются объектами 1M, а функция map() просматривает каждый документ, тогда рабочий набор будет 1M x 5K. Если вы подаете свою функцию map() некоторым подмножеством ваших данных (скажем, 500K объектов), то это будет 500K x 5K. В любом случае вам также придется включать размеры любых предопределенных индексов.

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