利用Python编写MapReduce功课
mrjob 可以让用 Python 2.5+ 来编写 MapReduce 功课,并在多个差异平台上运行,你可以:
利用纯 Python 编写多步的 MapReduce 功课
在本机长举办测试
在 Hadoop 集群上运行
利用 Amazon Elastic MapReduce (EMR) 在云上运行
pip 的安装要领很是简朴,无需设置,直接运行:pip install mrjob
代码实例:
from mrjob.job import MRJob
class MRWordCounter(MRJob):
def mapper(self, key, line):
for word in line.split():
yield word, 1
def reducer(self, word, occurrences):
yield word, sum(occurrences)
if __name__ == '__main__':
MRWordCounter.run()