如何增加映射器配额?
我正在使用 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("[email protected]")) {
DatastoreMutationPool mutationPool = this.getAppEngineContext(context).getMutationPool();
mutationPool.delete(key);
}
}
I am using Google App engine Mapper API to delete all rows (approx. 2M) for a particular entity in my GAE datastore. However, even though I have a billed account, I still get -
com.google.appengine.tools.mapreduce.MapReduceServlet processMapper:
Out of mapper quota. Aborting request until quota is replenished.
Consider increasing mapreduce.mapper.inputprocessingrate (default
1000) if you would like your mapper job to complete faster.
How do I specifically increase the mapper quota? I need to remove the records urgently, but cannot find any documentation to increase mapper quota. If there is any other best practices I should be aware of, please let me know.
This is what I am doing in the mapper class.
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("[email protected]")) {
DatastoreMutationPool mutationPool = this.getAppEngineContext(context).getMutationPool();
mutationPool.delete(key);
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
请尝试找到mapreduce.xml并修改以下数字:
Please try to find mapreduce.xml and modify the following number: