2013-04-18 2 views
0

Я работаю над анализом производительности Hadoop, и я запускаю некоторые тесты на Hadoop. Что удивительно, так это то, что Grep занимает почти 1/10 времени, когда требуется выполнить wordcount, что очень неинтуитивно. Может ли кто-нибудь объяснить, почему это так?Анализ производительности Hadoop (Wordcount против Grep)

+0

Насколько велик набор данных, с которым вы работаете? Насколько велик ваш кластер? –

+0

Что бы вы ожидали от коэффициента производительности? Зачем? – rici

+0

Набор данных составляет около 2 ГБ. Я бы предположил, что производительность должна быть равной, или grep на самом деле займет больше времени. Задача карты wordcount занимает около 40 секунд, работая на 64-битном входе. Задача карты Grep занимает всего 4 секунды. Я запускаю 4-х машинный кластер, но это не имеет большого значения, поскольку я сравниваю тайминги карты. – Keeto

ответ

2

Большая часть слова в идиоме с уменьшением карты - это связь между картографами и редукторами.

В примере WordCount каждое слово приводит к выходной записи (и вход редуктора). В примере Grep каждый согласованный шаблон приводит к записи вывода. Если шаблон не соответствует очень часто, это не очень много записей.

Я бы ожидал, что mappers будут работать примерно в такое же количество времени, так как оба будут связаны с I/O, вплоть до того момента, когда они производят выход. Разность ЦП между двумя задачами незначительна. Однако большая разница между объемом выпуска будет очень заметной.