多个输入文件Mapreduce Wordcount示例单独完成

时间:2014-02-26 15:12:50

标签: hadoop mapreduce

我正在使用Mapreduce模型的Hadoop框架,并且实际上尝试了像WordCount,Max_temperature这样的基本示例,以便为我的项目创建mapreduce任务。我只想知道如何将wordcount作为一个输出文件处理每个输入文件...就像让我举一个例子: -

FILE_1 Dog Cat Dog Bull
FILE_2 Cow Ox Tiger Dog Cat
FILE_3 Dog Cow Ox Tiger Bull

应该给出3个输出文件,每个输入文件1个如下: -

Out_1 Dog 2,Cat 1,Bull 1
Out_2 Cow 1,Ox 1,Tiger 1,Dog 1,Cat 1
Out_3 Dog 1,Cow 1,Ox 1,Tiger 1,Bull 1

我查看了Hadoop MapReduce - one output file for each input发布的答案,但无法正确掌握。

请帮忙!感谢

2 个答案:

答案 0 :(得分:0)

每个Reducer输出一个输出文件。 输出文件的数量取决于Reducers的数量。

(A) 假设您要在单个MapReduce作业中处理所有三个输入文件。

至少 - 您必须将Reducers的数量设置为您想要的输出文件数。

因为你试图对每个文件进行单词计数。而不是跨文件。 您必须确保单个Reducer处理所有文件内容(一个文件)。使用自定义分区程序是一种方法。

(B) 另一种方法是简单地运行你的MapReduce作业三次。一次为每个输入文件。并且Reducer计为1。

答案 1 :(得分:0)

即使我是hadoop的新手,也发现这个问题非常有趣。这就是我解决这个问题的方法。

#