Mapreduce Job查找python中的单词频率计数

时间:2018-03-20 09:06:20

标签: python mapreduce word-count

我有一个大的单词数据集,我必须计算单词频率的数量。更具体地说,让我说我有话语(be,to,the,the,now,now,now,see,see,see)。字频率是

是:1, 到:1, :2, 现在:3, 见:3

我想计算频率计数,所以我的输出是:

1:2

2:1

3:2

这可以在一个mapreduce程序中完成,还是我需要创建1个mapreduce作业来计算频率,另外一个来计算计数?

1 个答案:

答案 0 :(得分:1)

如您所料,我相信您需要两个mapreduce计划。

  • 计算单词数

这将是正常的wordcount计划。一个很好的教程是here

  • 计算频率。

它几乎与另一个wordcount程序相似。步骤将是:

  1. 使用:拆分输入行。例如在now: 3上拆分:以获得now3(修剪)元素。它类似于在单词计数中拆分空格上的每个单词。

  2. 将数字部分写入上下文,其值为1(作为计数1),即步骤1中的3应输出为Key - > 3,值 - > 1。它与word

  3. 1的计数wordcount的输出相同
  4. 在reducer中只是针对每个键聚合计数。它类似于wordcount中的汇总计数。