我试图明白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"的含义是什么? ?
答案 0 :(得分:1)
此代码返回一个元组:(“lines”,1)。在这种情况下,元组可以省略括号。每个yield
返回输入的某些方面,以及方面的值。行数为1。
该行可以这样写:
yield ("lines", 1)