Wednesday, 27 November 2013

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

Коллеги,

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

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

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

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

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

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

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

Write on: 15:36 | 0 comments | | tags: , , | permalink |
Add post to:   Delicious Reddit Slashdot Digg Technorati Google


Add comment

Comments

No comments for this post

Comment form for «Сортированные значения для reducer »

Required. 30 chars of fewer.

Required.