2024-03-28 22:58:07 发布
网友
我有一个很大的单词数据集,我要计算词频。更具体地说,让我们说我有单词(be,To,the,the,now,now,now,see,see,see)。单词频率是
比利时:1, 收件人:1, 那:2, 现在:3, 参见:3
我想计算频率计数,所以我的输出是:
1:2分
2:1分
3:2分
这可以在一个mapreduce过程中完成吗?还是需要创建一个mapreduce作业来计算频率,另一个创建一个来计算计数?在
如您所料,我相信您需要两个mapreduce程序。在
mapreduce
这将是正常的wordcount程序。一个不错的教程是here。在
wordcount
它将非常类似于另一个wordcount程序。步骤是:
用:分割输入行。e、 g.在:上拆分now: 3,以使now和{}(修剪)元素。它类似于在单词计数中按空格拆分每个单词。
:
now: 3
now
将数字部分写入上下文中,值为1(计数1),即步骤1中的3应输出为Key->;3,value->;1。它与输出a word相同,在wordcount
1
3
word
在reducer中,只需根据每个键聚合计数。它类似于wordcount中的聚集计数。
如您所料,我相信您需要两个
mapreduce
程序。在这将是正常的
wordcount
程序。一个不错的教程是here。在它将非常类似于另一个
wordcount
程序。步骤是:用}(修剪)元素。它类似于在单词计数中按空格拆分每个单词。
:
分割输入行。e、 g.在:
上拆分now: 3
,以使now
和{将数字部分写入上下文中,值为
1
(计数1),即步骤1中的3
应输出为Key->;3
,value->;1
。它与输出aword
相同,在wordcount
在reducer中,只需根据每个键聚合计数。它类似于
wordcount
中的聚集计数。相关问题 更多 >
编程相关推荐