我对App Engine Map Reduce API有几个问题。首先,SDK中有一个mapreduce包,这里有一个单独的mapreduce包:
https://developers.google.com/appengine/downloads
我应该使用哪一个?我应该使用捆绑包,还是文档已过期,我应该实际使用SDK版本?
其次,我希望能够在非默认版本上运行mapreduce,以确保来自mapreduce的请求不会干扰用户请求。
最好的方法是什么?我可以使用任务队列启动管道,并将该队列的目标版本设置为我的非默认版本吗?
答案 0 :(得分:2)
我们建议在http://code.google.com/p/appengine-mapreduce/
使用适用于GAE的Map Reduce的开源版本文档中陈旧的捆绑链接是一个错误。那很快就会被清理干净。
我们的一些SDK中有一些MapReduce(出于历史原因),但开源版本是现在的方法。
至于使用单独的版本,这有点“依赖”。如果您考虑对处理器的竞争产生干扰,那么这可能不是一个值得注意的问题。根据您设置的队列处理速率,将根据需要调整更多应用程序实例以处理映射任务。我先试试一些实验。在花费时间和精力解决问题之前,请确保您遇到问题。
答案 1 :(得分:0)
mapreduce可以在非默认版本上启动。在它启动后,它将继续自动运行该版本。
在我的情况下,我只是将代码部署在非默认版本上,并使用version_id.app_id.appspot.com/path_to_start_a_job触发mapreduce。
cron job也可以在没有问题的情况下触发非默认版本的mapreduce。