Word Count (Map Reduce)

Question

Using map reduce to count word frequency.

Example
chunk1: "Google Bye GoodBye Hadoop code"
chunk2: "lintcode code Bye"
Get MapReduce result:
Bye: 2

GoodBye: 1

Google: 1

Hadoop: 1

code: 2

lintcode: 1

Solution

MapReduce的map和reduce基本操作。

class WordCount:

    # @param {str} line a text, for example "Bye Bye see you next"
    def mapper(self, _, line):
        # Write your code here
        # Please use 'yield key, value'
        
        # 这个实际上就是单纯的统计词频,但是使用yield,结果会被buffer收集起来的
        for word in line.split():
            yield word, 1

    # @param key is from mapper
    # @param values is a set of value with the same key
    def reducer(self, key, values):
        # Write your code here
        # Please use 'yield key, value'
        
        # values 是一组数字,代表key在不同的mapper或者chunck里面出现的次数
        yield key, sum(values)
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,353评论 0 33
  • 绘本阅读如何与孩子互动? 关于这个问题,我请教了阿渡老师,因为在看书的时候,书中有说不要去问孩子太多的问题,比如说...
    Bella贝啦阅读 1,397评论 0 2
  • 折扣店有些公司也称之为“下水道”,店铺内所售商品量多、价低、码不齐。针对此类店铺,在人员编排和管理上要留意几点: ...
    heyelushui520阅读 3,856评论 0 1
  • 很早就看过lxl的《朋友是什么》,那时我对朋友的定义停留在 朋友就是那些与我们共度时光,让我们感觉温暖,让我们心甘...
    看见大王还不跪阅读 1,495评论 1 3
  • 我参加写手圈30天的写作训练之后,才听说简书这个写作软件,并在手机中下载使用。 通过这几天的体验,我已经离不开它了...
    王海琴阅读 3,388评论 17 5