Среда, 27 Ноябрь 2013

Сортированные значения для reducer

Коллеги,

Есть хитрость, которая позволяет упростить логику reducer если подавать ему сразу отсортированные значения. Код который это делает: https://gist.github.com/catap/3aabd33b86c0fc5620aa

Немного footnote по коду.

В Comparator/Grouping внятным образом получить доступ к value нельзя, приходиться делать составной ключ, который будет включать в себя:

  • ключ по которому будут группировать.
  • значения, или их часть, которые будут использоваться для сортировки.

Соотвествено:

  • Grouping сравниваются ключи.
  • Comparator сравниваются ключи и если они совпали, идет логика сортировки.

Вроде все прекрасно и все танцуют, но, в hadoop по умолчанию Partitioner использует hashCode для балансировки ключей по partition. Соответственно, либо реализуем свой hashCode, либо свой Partitioner, иначе будет интересная отладка :)

Написано в: 15:36 | 0 комментариев | | теги: , , | постоянная ссылка |
Добавить пост в:   Delicious Reddit Slashdot Digg Technorati Google


Последние комментарии

Комментарии

К этой публикации комментариев нет

Форма комментирования для «Сортированные значения для reducer »

Обязательное поле. Не больше 30 символов.

Обязательное поле