Hadoop中Sort Comparator和Group Comparator之间有什么区别?

use*_*193 15 hadoop bigdata

Hadoop中Sort ComparatorGroup Comparator之间有什么区别?

Esw*_*apa 23

要了解GroupComparator,请参阅我对此问题的回答 -

在hadoop map reduce中使用分组比较器有什么用

SortComparator:用于定义映射输出键的排序方式

摘录自Hadoop - 权威指南:

键的排序顺序如下:

  1. 如果mapred.output.key.comparator.class通过显式或通过调用setSortComparatorClass()Job 设置属性,则使用该类的实例.(在旧API中,等效方法已setOutputKeyComparatorClass()启用JobConf.)

  2. 否则,键必须是子类WritableComparable,并使用键类的注册比较器.

  3. 如果没有注册的比较器,则RawComparator使用该解串进行比较成对象并委托给了字节流WritableComparablecompareTo()方法.

SortComparator Vs GroupComparator在一个衬里中: SortComparator决定如何对地图输出键进行排序,同时GroupComparator确定Reducer中的哪个映射输出键转到相同的reduce方法调用.


小智 6

Group Comparator决定将哪些地图输出键合并(分组)为一个键,当然所有值集合也将被分组.通常,它会将第一个键作为摘要集合的唯一键.

SortComparator决定如何在reduce的输入中对键进行排序.默认情况下,它使用自然顺序.