Amazon web services 弹性映射Reduce(AWS)上Hadoop中的强制整数排序

Amazon web services 弹性映射Reduce(AWS)上Hadoop中的强制整数排序,amazon-web-services,amazon-emr,Amazon Web Services,Amazon Emr,我在Hadoop上使用了一个MapReducer,在ElasticMapReduce(在AWS上)上使用了一个MapReducer,但是它将其作为字符串进行排序,我想进行整数排序。怎么做?我希望将键作为整数,并对键进行整数排序。我建议使用前导零预挂起(或填充)整数,以便让Hadoop(或EMR)进行词法排序。Hadoop不支持基于整数的排序——它只是lexography排序 例如,如果这些是您的密钥: 1 15 168 1900 您应该在映射器中这样输出它们: 0001 0015 0168 1

我在Hadoop上使用了一个MapReducer,在ElasticMapReduce(在AWS上)上使用了一个MapReducer,但是它将其作为字符串进行排序,我想进行整数排序。怎么做?我希望将键作为整数,并对键进行整数排序。

我建议使用前导零预挂起(或填充)整数,以便让Hadoop(或EMR)进行词法排序。Hadoop不支持基于整数的排序——它只是lexography排序

例如,如果这些是您的密钥:

1
15
168
1900
您应该在映射器中这样输出它们:

0001
0015
0168
1900

这样Hadoop就可以正确地对它们进行排序。

这个相关问题的答案可以在不修改数据的情况下使用: