hadoop中排序比较器和组比较器有什么区别?

kxeu7u2r  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(262)

hadoop中排序比较器和组比较器有什么区别?

bvjxkvbb

bvjxkvbb1#

要了解groupcomparator,请参阅我对这个问题的回答-
分组比较器在hadoop map reduce中有何用途
sortc公司omparator:used to 定义Map输出键的排序方式
《hadoop-权威指南》一书节选:
键的排序顺序如下所示:
如果财产 mapred.output.key.comparator.class 通过显式或调用 setSortComparatorClass() 在job上,则使用该类的一个示例(在旧的api中,等价的方法是 setOutputKeyComparatorClass()JobConf .)
否则,键必须是 WritableComparable ,并使用密钥类的注册比较器。
如果没有注册的比较器,那么 RawComparator 用于将要比较的字节流反序列化为对象并委托给 WritableComparablecompareTo() 方法。
一行中的sortcomparator与groupcomparator: SortComparator 决定Map输出键的排序方式 GroupComparator 决定reducer中的哪些map输出键转到同一reduce方法调用。

ryoqjall

ryoqjall2#

组比较器决定哪些Map输出键将被合并(分组)为一个键,当然所有值的集合也将被分组。通常它将第一个键作为摘要收集的唯一键。
sortcomparator决定如何在reduce的输入中对键进行排序。默认情况下,它使用自然排序。

相关问题