1

我在 Elastic Map Reduce(在 AWS 上)上的 Hadoop 上使用 map reducer,但它正在将其排序为字符串,我想做整数排序。怎么做 ?我想将键作为整数并对键进行整数排序。

4

2 回答 2

2

我建议使用前导零预先挂起(或填充)整数,以便您可以让 Hadoop(或 EMR)进行字典排序。Hadoop 不支持基于整数的排序——它只是简单的字典排序。

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

1
15
168
1900

您应该在映射器中像这样输出它们:

0001
0015
0168
1900

以便 Hadoop 可以正确地对它们进行排序。

于 2013-06-04T19:34:39.037 回答
0

这个相关问题的答案可以在不修改数据的情况下使用:如何在 hadoop 的 shuffle/sort 阶段进行数字排序?

于 2013-08-08T01:52:28.437 回答