将参数传递给管道中的映射器函数

时间:2014-01-12 02:02:53

标签: python google-app-engine

如何将参数传递给mapreduce mapper中定义的mapreduce_pipeline.MapreducePipeline函数?

我使用DatastoreInputReader作为输入源。通常,我只需要一个简单的映射器函数:

def mapper(model_entity_instance):
  """ my mapper function """

但这次我需要的东西是:

def mapper(model_entity_instance, params_dict):
  """ my mapper function """

如何通过标准mapreduce包实现此目的?

1 个答案:

答案 0 :(得分:4)

找到方法:

from mapreduce import context

def mapper(model_entity_instance, params_dict):
  """ my mapper function """
  ctx=context.get()
  mapper_params=ctx.mapreduce_spec.mapper.params