Hadoop - 在Reducer中排序

时间:2014-12-31 20:03:23

标签: java sorting hadoop

我有一个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

1 个答案:

答案 0 :(得分:0)

您希望如何对键进行排序?
我将定义一个对象IntDoublePair,使其具有可比性,实现适合我的任何比较逻辑,然后在reducer中我将实例化List<IntDoublePair> myList并在迭代每个键的值时,我会将它们添加到myList。最后排序列表。
你也可以搜索二级排序mapreduce&#39; ...它可能适合你的目的