Почему часть моих данных поступает в редуктор напрямую, не входя в сумматор
Я использую версию 0.20.0 Hadoop.
Я успешно установил класс комбайнера. И моя программа работает успешно.
Однако я обнаружил, что около 5% моих данных не поступают в сумматор после выхода из картографа, эти данные поступают в редуктор напрямую. Не знаю почему?
1 ответ
Примечание о реализации объединителей в Hadoop: по умолчанию среда выполнения оставляет за собой право использовать объединители по своему усмотрению. В действительности это означает, что объединитель может быть вызван ноль, один или несколько раз. Кроме того, объединители в Hadoop могут фактически вызываться в фазе сокращения, то есть после того, как пары ключ-значение были скопированы в редуктор, но до запуска пользовательского кода редуктора. В результате объединители должны быть тщательно написаны, чтобы их можно было выполнять в этих различных средах.
Вы можете найти это в разделе 2.4 PDF ниже