如何在MapReduce程序中获取输入文件名和每个文件中的字数?

如何在MapReduce程序中获取输入文件名和每个文件中的字数?,mapreduce,bigdata,Mapreduce,Bigdata,例如,有两个文字文本文件,我需要在下面显示输出格式如何?请给出想法如何做? 1.text1带有单词 苹果 苹果 芒果 2.text2带单词 苹果 苹果 芒果 我需要像这样显示输出 文本1 苹果2 芒果1 text2 苹果2 芒果1 总计 苹果4 mapper中的mango 2将键设置为filename+'|'+word并发射到reducer。在您的例子中,映射器的输出如下所示 (text1|apple,1) (text1|apple,1) (text1|mango,1) (text2|apple

例如,有两个文字文本文件,我需要在下面显示输出格式如何?请给出想法如何做?
1.text1带有单词
苹果 苹果 芒果

2.text2带单词
苹果 苹果 芒果

我需要像这样显示输出 文本1 苹果2 芒果1

text2
苹果2
芒果1

总计
苹果4

mapper中的mango 2将键设置为filename+'|'+word并发射到reducer。在您的例子中,映射器的输出如下所示

(text1|apple,1)
(text1|apple,1)
(text1|mango,1)
(text2|apple,1)
(text2|apple,1)
(text2|mango,1) 
在洗牌和排序阶段之后,输出将如下所示

(text1|apple,{1,1})
(text1|mango,{1})
(text2|apple,{1,1})
(text2|mango,{1})
在reducer中,您可以编写逻辑来计算每个文本文件中苹果和芒果的数量。(计算数组中的值数量)

要查找全局和,请声明静态变量mangos和apples。使用符号“|”分隔键并计算总和。将总和分配给静态变量。最后将输出写入文本文件