为什么在hadoop中使用全顺序分区?。哪种情况下我们需要采取全顺序分区?。我的理解是经过多个减缩后,每个减缩结果都会按键排序。那我们为什么要进行全序划分呢。如果你能分享任何图形代表的例子会很好吗?
svmlkihl1#
total order分区将按键对所有减速机的输出进行排序。这允许您合并多个减速机的输出,并且仍然得到排序的输出。下面是一个简单的例子:无全序划分
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)
1条答案
按热度按时间svmlkihl1#
total order分区将按键对所有减速机的输出进行排序。这允许您合并多个减速机的输出,并且仍然得到排序的输出。下面是一个简单的例子:
无全序划分
如果合并,输出将不再按键排序。
全序分割
如果合并,输出仍按键排序。