如何增加映射器配额?

时间:2011-08-12 18:14:06

标签: google-app-engine mapreduce

我正在使用Google App引擎Mapper API删除GAE数据存储区中特定实体的所有行(约2M)。但是,即使我有账单,我仍然可以 -

  

com.google.appengine.tools.mapreduce.MapReduceServlet processMapper:   超出映射器配额。中止请求,直到补贴配额为止。   考虑增加mapreduce.mapper.inputprocessingrate(默认值   1000)如果您希望您的映射器作业更快完成。

如何专门增加映射器配额?我需要紧急删除记录,但找不到任何增加映射器配额的文档。如果还有其他最佳实践我应该知道,请告诉我。

这就是我在mapper类中所做的。

  public void map(Key key, Entity value, Context context) {
    log.info("Mapping key: " + key);

    if (value.hasProperty("email")) {
        String email = (String) value.getProperty("email");
        if(email.equalsIgnoreCase("xxxx@xxxxx.com")) {
            DatastoreMutationPool mutationPool = this.getAppEngineContext(context).getMutationPool();
            mutationPool.delete(key);
        }
    }

1 个答案:

答案 0 :(得分:0)

请尝试查找mapreduce.xml并修改以下数字:

<property>
  <name>mapreduce.mapper.inputprocessingrate</name>
  <value>**2000**</value>
</property>