我使用谷歌应用程序引擎Mapper API删除所有行(大约。2M)用于GAE数据存储中的特定实体。然而,即使我有一个帐单帐户,我仍然得到-
com.google.appengine.tools.mapreduce。MapReduceServlet processMapper:超出映射器配额。中止请求,直到配额被补充。考虑增加mapreduce.mapper.inputprocessingrate(默认值)
如果你想让你的映射器工作更快地完成。
如何增加映射器配额?我急需删除记录,但找不到任何文件来增加制图员配额。如果还有其他我应该知道的最佳实践,请告诉我。
这就是我在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);
}
}
请尝试找到mapreduce.xml并修改以下数字:
<property>
<name>mapreduce.mapper.inputprocessingrate</name>
<value>**2000**</value>
</property>