使用java从数据存储中删除100000条记录

时间:2014-04-17 18:12:25

标签: google-cloud-datastore

程序使用java.Currently从数据存储中批量删除100000条记录。

 public void deleteExistingResults() throws InterruptedException {
      log.info("inside deleteExistingResults");
    ArrayList<Key> keys = new ArrayList<Key>();
    List<Entity> results = getResults();
    for (Entity entity : results) {
      keys.add(entity.getKey());
      }
    log.info("deleteExistingResults:outside loop");
    service.delete(keys);
  }

其中getResults从datastore返回所有密钥。我收到此错误。 com.insightsapp.cron.controller.CronTask runTask:在这些数据存储区实体上遇到异常过多的争用。请再试一次。

1 个答案:

答案 0 :(得分:0)

我建议使用类似MapReduce library的内容,或至少使用任务队列批量删除数百个左右。