Почему часть моих данных поступает в редуктор напрямую, не входя в сумматор

Я использую версию 0.20.0 Hadoop.

Я успешно установил класс комбайнера. И моя программа работает успешно.

Однако я обнаружил, что около 5% моих данных не поступают в сумматор после выхода из картографа, эти данные поступают в редуктор напрямую. Не знаю почему?

1 ответ

Решение

Примечание о реализации объединителей в Hadoop: по умолчанию среда выполнения оставляет за собой право использовать объединители по своему усмотрению. В действительности это означает, что объединитель может быть вызван ноль, один или несколько раз. Кроме того, объединители в Hadoop могут фактически вызываться в фазе сокращения, то есть после того, как пары ключ-значение были скопированы в редуктор, но до запуска пользовательского кода редуктора. В результате объединители должны быть тщательно написаны, чтобы их можно было выполнять в этих различных средах.

Вы можете найти это в разделе 2.4 PDF ниже

Интенсивная обработка текста с помощью MapReduce

Другие вопросы по тегам