我在Elastic Map Reduce上使用Hadoop上的map reducer(在AWS上),但是它将它作为字符串排序,我想进行整数排序。怎么做 ?我想把键作为整数,并对键进行整数排序。
答案 0 :(得分:2)
我建议使用前导零预先挂起(或填充)整数,以便您可以让Hadoop(或EMR)进行词法排序。 Hadoop不支持基于整数的排序 - 它只是简单的词法排序。
例如,如果这些是您的关键:
1
15
168
1900
你应该在mapper中输出它们:
0001
0015
0168
1900
以便Hadoop可以正确地对它们进行排序。
答案 1 :(得分:0)
可以在不修改数据的情况下使用此相关问题的答案:how to sort numerically in hadoop's shuffle/sort phase?