Hadoop Total Order Partitioning - PullRequest
       7

Hadoop Total Order Partitioning

0 голосов
/ 29 апреля 2018

Почему общая сумма заказа разделена в hadoop? По какому сценарию нам нужно взять общий порядок разбиения? Насколько я понимаю, после нескольких редукторов каждый результат редуктора будет отсортирован по ключу. тогда почему мы должны сделать полное разделение заказа. Было бы здорово, если бы вы могли поделиться любым графическим представителем. примеров?

1 Ответ

0 голосов
/ 29 апреля 2018

Суммарное разбиение заказа отсортирует вывод по ключу по всем редукторам. Это позволяет комбинировать вывод нескольких редукторов и получать отсортированный вывод. Простой пример ниже:

Без полного разделения заказа

reducer 1's output: 
(a,val_a)
(m,val_m)
(x,val_x)

reducer 2's output: 
(b,val_b)
(c,val_c)

Если вы объединяете, выходные данные больше не сортируются по ключу.

(a,val_a)
(m,val_m)
(x,val_x)
(b,val_b)
(c,val_c)

С общим разделением заказа

reducer 1's output: 
(a,val_a)
(b,val_b)
(c,val_c)

reducer 2's output: 
(m,val_m)
(x,val_x)

Если объединить, выходные данные все еще сортируются по ключу.

(a,val_a)
(b,val_b)
(c,val_c)
(m,val_m)
(x,val_x)
...