【发布时间】:2016-10-17 08:25:32
【问题描述】:
我创建了一个非常简单的 MapReduce 管道,但我有一个神秘的:
PipelineSetupError: Error starting production.cron.pipelines.ItemsInfoPipeline(*(), **{})#a741186284ed4fb8a4cd06e38921beff:
当我尝试启动它时。这是管道代码:
class ItemsInfoPipeline(base_handler.PipelineBase):
"""
"""
def run(self):
output = yield mapreduce_pipeline.MapreducePipeline(
job_name="items_job",
mapper_spec="production.cron.mappers.items_info_mapper",
input_reader_spec="mapreduce.input_readers.DatastoreInputReader",
mapper_params={
"input_reader": {
"entity_kind": "production.models.Transaction"
}
}
)
yield ItemsInfoStorePipeline(output)
class ItemsInfoStorePipeline(base_handler.PipelineBase):
"""
"""
def run(self, statistics):
print statistics
return "OK"
当然,我已经仔细检查了映射器路径是否正确,并考虑到 ItemsInfoStorePipeline 没有做任何事情,因为我正在关注管道是否已启动,而这并没有发生。
都是由 Flask 视图触发的,如下:
class ItemsInfoMRJob(views.MethodView):
"""
It's based on transacions.
"""
def get(self):
"""
:return:
"""
pipeline = ItemsInfoPipeline()
pipeline.start()
redirect_url = "%s/status?root=%s" % (pipeline.base_path, pipeline.pipeline_id)
return flask.redirect(redirect_url)
我正在使用GoogleAppEngineMapReduce==1.9.22.0
感谢您的帮助。
更新
上述代码一旦部署就可以工作。
更新 2
显然有更多的人在处理这个问题:
https://github.com/GoogleCloudPlatform/appengine-mapreduce/issues/103
【问题讨论】:
标签: python google-app-engine mapreduce google-app-engine-python