GAEデータストア内の特定のエンティティのすべての行(約2M)を削除するには、GoogleのアプリエンジンMapper APIを使用しています。しかし、私は課金アカウントを持っているにもかかわらず、私はまだ取得 -マッパークォータを増やす方法は?
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);
}
}
あなたのマッパー機能で削除操作を得ていますか? 'db.delete()'を呼び出すだけですか? –
多分、混乱を避けるために投稿を更新してください...ヒント4xスペース=コードの書式設定。 –
ok - 元の投稿を更新しました。 – David