2011-05-16 194 views
0

我有一个文件,其中包含文本格式的IP包头。在mapreduce中对map函数中的键值对进行排序

在映射函数之后,将针对特定的IP地址调用每个reduce方法。我想按排序顺序排列值,但它们没有排序。该值基本上是一条线,其中有时间戳。我希望reduce中的所有值都按时间戳排序。

请帮我在那里做分类。

+0

您能否提供一些关于映射输入的示例信息以及您期望减少的输入?好像你还没有为reducer选择正确的密钥,因为你可以将时间戳定义为密钥或者使用多个字段的复合密钥(例如通过流式传输,你可以通过设置stream.num.map.output.key .fields到您希望用作密钥的字段数)。 – diliop 2011-05-17 00:11:00

回答

0

Hadoop MapReduce有一个名为“Secondary Sort”的功能,可以实现您想要的功能。

该书“Hadoop the definitive guide”在这个主题上有不错的篇幅。