2011-08-12 20 views
0

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

あなたのマッパー機能で削除操作を得ていますか? 'db.delete()'を呼び出すだけですか? –

+0

多分、混乱を避けるために投稿を更新してください...ヒント4xスペース=コードの書式設定。 –

+0

ok - 元の投稿を更新しました。 – David

答えて

0

mapreduce.xmlを見つけて、以下の番号を変更してみてください:

<property> 
    <name>mapreduce.mapper.inputprocessingrate</name> 
    <value>**2000**</value> 
</property> 
関連する問題