难以理解mapreduce

时间:2011-02-25 07:18:01

标签: python google-app-engine mapreduce

我已经看到了下面的链接,它是用python启动mapreduce

http://code.google.com/p/appengine-mapreduce/wiki/GettingStartedInPython

但我仍然无法理解其工作原理。我正在执行代码,但无法理解究竟发生了什么?

mapreduce.yaml

mapreduce: 
- name: Testmapper 
   mapper: 
       input_reader: mapreduce.input_readers.DatastoreInputReader 
       handler: main.process 
   params: 
       - name: entity_kind 
         default: main.userDetail

映射精简/ main.py

some code

class userDetail(db.Model): 
name = db.StringProperty()

some code

def process(u): 
          u.name="mahesh" 
          yield op.db.Put(u)

我正在执行此操作,它在状态页面中为我提供了status = success。

但无法理解发生的事情

我想用mapreduce做的主要事情是搜索或统计来自实体的记录

所以任何人都可以帮助我吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

您要将"mahesh"值设置为所有StringProperty name个实体的userDetail

如果您想统计您的实体,请使用:

from mapreduce import operation as op
 def process(entity):
    yield op.counters.Increment("counter1")