|
Зачем хадуп выполняет сортировку?
|
|||
---|---|---|---|
#18+
Добрый день! После выполнения map и Shuffle хадуп зачем-то выполняет сортировку по ключу. Зачем это надо, если на входе reducer'а достаточно сгруппировать данные? ВРоде как без сортировки было бы быстрее? Кстати, группировку хадуп выполняет если compareTo == 0 Кроме того, что делает (и долго делает) mapper, если он пустой? Т.е. на вход задаче подан выхлоп reducer'а в виде ключ/значение и надо сделать ещё один reducer именно по этому ключу. Я указываю постой map, но реально он работает и это может занять час... -- Алексей. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 17:18 |
|
Зачем хадуп выполняет сортировку?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 20:33 |
|
Зачем хадуп выполняет сортировку?
|
|||
---|---|---|---|
#18+
Сортировка лежит в основе такой вещи, как SSTable. А это лежит в основе транспорта данных в современном BigData из-за того, что передавать данные удобнее и дешевле большими блоками. Большие дёшевы потому, что потенциал дисков по скорости (любые, даже SSD) хорошо раскрывается только на больших последовательных записях, типа там по 128 мегабайт. Когда редьюсер редьюсит ключ, ему проще последовательно глянуть в 3 блока (в пределах которых лежат все экземпляры этого ключа), держа значение ключа в ОЗУ, чем сканить весь объём данных бесконечно откладывая новые блоки. Короче - так быстрее с учётом текущей физики аппаратуры хранения. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2016, 14:46 |
|
|
start [/forum/topic.php?fid=48&fpage=7&tid=1856748]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 245ms |
total: | 383ms |
0 / 0 |