如何使用mapreduce wordcount的输出进行进一步处理?

时间:2014-03-21 08:13:07

标签: java hadoop mapreduce

我已经完成了map-reduce wordcount程序,现在我想使用输出(这是每个单词的字数),我想从中计算前5个关键字。如何将第1阶段的输出用于第2阶段,我应该再办一个工作吗?

1 个答案:

答案 0 :(得分:2)

你当然可以从第一个输出中读出另一份工作。

考虑您的任务有2个步骤: 第1步:字数统计 第2步:前n个单词

在第2步中,有一个IdentityMapper并确保你有一个reducer(job.setNumReduceTasks( NO_OF_REDUCERS );),然后在reducer中你可以跟踪topN并在结束时发出它们,为此你应该{减速机的{3}}。

您还可以编辑Step1本身并使其只有一个reducer,并跟踪topN单词并最后发出它们。但是,如果你有很多的话,那么这个方法比两个单独的步骤更耗时。