Hadoop mapreduce编程

Hadoop mapreduce编程,hadoop,Hadoop,如何使用Hadoop mapreduce编程获得排序的o/p 是否有任何方法可以按排序顺序获得最终的键值对。(通过键或值) 非常感谢任何关于这方面的建议 多谢各位 R“Hadoop:最终指南”第二版在第8章中用代码示例描述了全局排序。默认情况下,MapReduce将按输入记录的键对其进行排序 不过,下载最新的Hadoop版本并查看它们的示例可能会对您有更多帮助。也有不同的排序示例 如果您需要有关排序顺序的更多信息,这就是如何更改排序顺序的方法 键的排序顺序由RawComparator控制,如下所

如何使用Hadoop mapreduce编程获得排序的o/p

是否有任何方法可以按排序顺序获得最终的键值对。(通过键或值)

非常感谢任何关于这方面的建议

多谢各位
R

“Hadoop:最终指南”第二版在第8章中用代码示例描述了全局排序。

默认情况下,MapReduce将按输入记录的键对其进行排序

不过,下载最新的Hadoop版本并查看它们的示例可能会对您有更多帮助。也有不同的排序示例

如果您需要有关排序顺序的更多信息,这就是如何更改排序顺序的方法

键的排序顺序由RawComparator控制,如下所示:

  • 如果设置了属性mapred.output.key.comparator.class,则该类的实例 使用。(JobConf上的setOutputKeyComparatorClass()方法是一个方便的方法 设置此属性的方法。)

  • 否则,密钥必须是WritableComparable的子类,并且 使用键类的比较器

  • 如果没有注册的比较器,则使用反序列化的RawComparator 正在比较为对象并委托给WritableCompar的字节流 able的compareTo()方法。 这些规则强化了注册RawCompari优化版本的重要性 TOR用于您自己的自定义可写类,并且覆盖 通过设置自己的比较器对顺序进行排序


  • 内置的WritableComparable类将正确比较,因此如果是LongWritable类,则将按降序排序。如果您想要自己的排序顺序,例如按文本字符串排序,然后在该顺序内按时间戳排序值,则需要自定义键、自定义排序比较器和自定义分组比较器。