Hadoop Mapreduce多减速器排序

时间:2016-10-09 21:04:39

标签: python sorting hadoop mapreduce

我正在使用Hadoop Mapreduce对大型文档进行排序,并使用KeyFieldBasedPartitioner将不同的输入分区到不同的reducer。我必须解决这个问题的想法是让映射器将每个单词的第一个字母作为键发送,并将单词作为值发送。每个具有相同字母的单词将转到一个reducer,它将对以该字母开头的所有单词进行排序,然后在最后我将使用 - getmerge并将所有结果合并到一个文档中并完全查看排序文件。

所以到目前为止我的整个过程看起来像这样:

巨人文件 - > mapper(删除标点符号和拆分单词) - >将第一个字母,单词对输出到KeyFieldBasedPartitioner - >将它发送到26个减速器中的一个(每个字母一个) - >减速机排序

现在缩减器都对它们各自的各个部分进行排序,但是当我使用 - getmerge来组合它们时,文档从以' n'开头的单词开始。然后结束以' m'开头的单词。如何指定它以便最终输出顺序?

0 个答案:

没有答案