我有一个map reduce代码,在mapper中我正在进行一些计算,而在reducer中我正在应用公式以获得结果。我的结果是IntDouble对作为键和Text作为值格式。我需要知道如何对减速机的结果进行排序?
以下是reducer的示例输出。我需要按键排序。我在mapper中实现了所有代码,并且它完美地对它进行了排序,但与reducer不同,结果没有排序。
[1 0.5] Mr. Nice Guy
[1 0.0] Rush Hour
[1 0.3] Twin Dragons
[1 0.6] Snake in the Eagle's Shadow
[1 0.5] Police Story
[1 0.5] Armour of God 2: Operation Condor
[1 0.5] Drunken Master
预期排序清单:
[1 0.0] Rush Hour
[1 0.3] Twin Dragons
[1 0.5] Mr. Nice Guy
[1 0.5] Police Story
[1 0.5] Armour of God 2: Operation Condor
[1 0.5] Drunken Master
[1 0.6] Snake in the Eagle's Shadow
答案 0 :(得分:0)
您希望如何对键进行排序?
我将定义一个对象IntDoublePair
,使其具有可比性,实现适合我的任何比较逻辑,然后在reducer中我将实例化List<IntDoublePair> myList
并在迭代每个键的值时,我会将它们添加到myList
。最后排序列表。
你也可以搜索二级排序mapreduce&#39; ...它可能适合你的目的