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



例如,有两个带单词的文本文件,我需要在下面展示输出格式如何?请给我个主意做什么
1.ext1带单词
苹果苹果芒果

2.text2包含单词
苹果苹果芒果

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

text2
苹果2
芒果1

合计
苹果4
芒果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。使用符号"|"分隔键并计算总和。将总和分配给静态变量。最后将输出写入文本文件

相关内容

  • 没有找到相关文章

最新更新