我在努力理解违约 grouping comparator
在hadoop的mr。
当我们在驱动程序代码中没有指定任何关于分组的内容时 comparator
,是否使用 compareTo()
键的方法(例如假设hadoop的内置数据类型, IntWritable
).
在我们有自定义密钥的情况下,它是否仍然依赖于密钥的 compareTo()
方法?
我确实在网上搜索过,但没有得到满意的答案来澄清我的疑虑。谁能帮我澄清一下吗。
编辑
这个问题不是重复的,因为已经标记;我的问题不是询问分组比较器的角色,而是询问默认实现是什么,以及我们有自定义密钥的情况。我不知道这个问题是在什么基础上被标记为另一个so问题的重复,这个问题涉及到提出“分组比较”的需要。我提到了那个问题,那和这个问题毫无关系。
1条答案
按热度按时间o4hqfura1#
回答你的问题
... 它用什么
compareTo()
键的方法。。。。是的,但是
compare()
方法来自下面的实现在我们有自定义密钥的情况下,它是否仍然依赖于密钥的
compare()
方法?是的,如果您想优化,有一个默认的实现。
样品
writable
类型可能看起来像从文档来看,这是一个优化钩子。这意味着,这个方法在默认情况下是实现的,但应该用于优化或自定义代码。
请注意还有一个
compare(WritableComparable a, WritableComparable b)
,如果您使用WritableComparator(Class<? extends WritableComparable> keyClass)
以供实施。