【问题标题】:How to increase mapper quota?如何增加映射器配额?
【发布时间】:2011-08-12 18:14:06
【问题描述】:

我正在使用 Google App engine Mapper API 来删除我的 GAE 数据存储中特定实体的所有行(大约 2M)。但是,即使我有一个计费帐户,我仍然会得到 -

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

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

这就是我在映射器类中所做的。

  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);
        }
    }

【问题讨论】:

  • 您是否在映射器函数中产生删除操作?或者只是打电话给db.delete()
  • 也许更新帖子以避免混乱......提示4x空格=代码格式。
  • 好的 - 更新了原帖。

标签: google-app-engine mapreduce


【解决方案1】:

请尝试查找mapreduce.xml并修改以下编号:

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

【讨论】:

    猜你喜欢
    • 2019-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-21
    • 1970-01-01
    • 2015-03-18
    • 1970-01-01
    相关资源
    最近更新 更多