У меня есть базовый сценарий в Hadoop:
Все преобразователи отправляют все значения на тот же ключ . Поэтому все значения попадают на такой же редуктор.
Однако, когда я перебираю значения в редукторе, итератор не обрабатывает все записи.
Например, я мог бы иметь следующий код:
while (values.hasNext())
{
result = result + values.next().toString() + "\n";
}
// Assume, that all values sent to this reducer is now in the 'result' variable
do_important_stuff(result);
Я хотел бы накапливать связанные значения и затем обрабатывать данные в функции do_important_stuff (). Но я не в состоянии это сделать - цикл пока прерывается слишком рано.
Я упускаю важный момент в Hadoop? Мое предположение неверно?