这句话(yield" lines",1)如何在mrjob官方文档中发挥作用?

时间:2017-05-24 10:57:09

标签: python mrjob

我试图明白mrjob的官方例子

    def mapper(self, _, line):
        yield "chars", len(line)
        yield "words", len(line.split())
        yield "lines", 1

    def reducer(self, key, values):
        yield key, sum(values)
if __name__ == '__main__':
    MRWordFrequencyCount.run()

我基本上可以理解MapReduce的想法。但是,这句话(yield" lines",1)是如何工作的? " 1"的含义是什么? ?

1 个答案:

答案 0 :(得分:1)

此代码返回一个元组:(“lines”,1)。在这种情况下,元组可以省略括号。每个yield返回输入的某些方面,以及方面的值。行数为1。

该行可以这样写:

yield ("lines", 1)