如何使用Hadoop mapreduce编程获取排序的输出。
是否有任何方法可以按键或值的方式获取最终的键值对。
非常感谢您提供的任何指针。
谢谢 R
如何使用Hadoop mapreduce编程获取排序的输出。
是否有任何方法可以按键或值的方式获取最终的键值对。
非常感谢您提供的任何指针。
谢谢 R
默认情况下,MapReduce会根据它们的键对输入记录进行排序。
然而,下载最新的Hadoop版本并查看他们的示例可能会更有帮助。也有不同的排序示例。
如果您需要更多关于排序顺序的信息,可以按以下方式更改:
键的排序顺序由RawComparator控制,如下所示:
如果设置了属性mapred.output.key.comparator.class,则使用该类的实例。(JobConf的setOutputKeyComparatorClass()方法是设置此属性的便捷方式。)
否则,键必须是WritableComparable的子类,并使用键类的注册比较器。
如果没有注册比较器,则使用一个RawComparator将要比较的字节流反序列化为对象,并委托给WritableComparable的compareTo()方法。这些规则强调了为自己的自定义Writable类注册优化版本的RawComparators的重要性,以及通过设置自己的比较器轻松覆盖排序顺序。