mapreduce统计出现单词频率最高的单词

时间:2023-02-10 22:09:09
wordcount经典例子,统计词频, 但是有什么方法可以输出一个单词频率最高的单词吗?
  我用两个mapreduce可以实现,有什么办法可以用一个mapreduce实现吗

10 个解决方案

#1


[建议看下mr中的JobControl, 这个是不是典型的wordcount改一改就好了?, 学习。。
接分。。, 建议自己动下手,最基础的东西,还有一个mr解决的事情为什么要两个,
引用 2 楼 wangyaninglm 的回复:
这个是不是典型的wordcount改一改就好了?

 老师,这个我不知道第一步如何得到词频, reduce里面加统计不是就可以了?加几行代码就搞定了,
引用 6 楼 u013652174 的回复:
reduce里面加统计不是就可以了?加几行代码就搞定了

但是如果两个单词的频率一样,并且都是最高, 请问如何输出这两个呢,
该回复于2017-12-26 16:44:38被管理员删除
, 不需要两个MR,一个MR即可,Reduce执行完读取MR的输出获取最大值即可。

第一步就是通常的WORDCOUNT程序,每行为一个单词及对应的次数,即<word,count>
第二步读取HDFS中Reduce的输出文件,逐行读,若当前行的count大于前一行的count则出现次数最多的单词为当前行的word,
按照这个逻辑扫一遍输出文件即得出结果。

, 希望这份源码可以帮到你,另外如果春招要跳槽的话,这个面试知识专栏也推荐给你
Mapreduce统计单词频数项目实战源码【附带jar包】
大数据面试知识点分析专栏]

#1


[建议看下mr中的JobControl, 这个是不是典型的wordcount改一改就好了?, 学习。。
接分。。, 建议自己动下手,最基础的东西,还有一个mr解决的事情为什么要两个,
引用 2 楼 wangyaninglm 的回复:
这个是不是典型的wordcount改一改就好了?

 老师,这个我不知道第一步如何得到词频, reduce里面加统计不是就可以了?加几行代码就搞定了,
引用 6 楼 u013652174 的回复:
reduce里面加统计不是就可以了?加几行代码就搞定了

但是如果两个单词的频率一样,并且都是最高, 请问如何输出这两个呢,
该回复于2017-12-26 16:44:38被管理员删除
, 不需要两个MR,一个MR即可,Reduce执行完读取MR的输出获取最大值即可。

第一步就是通常的WORDCOUNT程序,每行为一个单词及对应的次数,即<word,count>
第二步读取HDFS中Reduce的输出文件,逐行读,若当前行的count大于前一行的count则出现次数最多的单词为当前行的word,
按照这个逻辑扫一遍输出文件即得出结果。

, 希望这份源码可以帮到你,另外如果春招要跳槽的话,这个面试知识专栏也推荐给你
Mapreduce统计单词频数项目实战源码【附带jar包】
大数据面试知识点分析专栏]