Can use low-level datastore and iterate over batches:
binSize = 1000;// or smaller if needed 30 sec timeout
DatastoreService datastore =
DatastoreServiceFactory.getDatastoreService();
Keys only select and delete:
javax.jdo.Query q = pm.newQuery(select key from +
entityKind.getClass().getName());
q.setRange(0, binSize);
(ListKey) q.execute();
ds.delete(keys);
Or slower entity-by-entity delete:
FetchOptions fetchOptions =
FetchOptions.Builder.withLimit(binSize);
com.google.appengine.api.datastore.Query q = new
com.google.appengine.api.datastore.Query(entityKind);
PreparedQuery pq = datastore.prepare(q);
Listcom.google.appengine.api.datastore.Entity results =
pq.asList(fetchOptions);
for (com.google.appengine.api.datastore.Entity result : results) {
com.google.appengine.api.datastore.Key key = result.getKey();
datastore.delete(key);
}
On Sep 9, 9:55 pm, Didier Durand durand.did...@gmail.com wrote:
If you don't want to introduce MapReduce solely for this purpose, you
can write a queued task that loops through the data to delete it
and that recreates a new instance of itself just before time limit (10
min) to continue the deletion.
regards
didier
On Sep 9, 8:37 pm, Marcelo Liberato mliber...@gmail.com wrote:
You may use MapReduce programmatically or just use Datastore admin (which
uses mapreduce behind the scenes).
On Thu, Sep 8, 2011 at 12:30 PM, blitzer brian.blit...@gmail.com wrote:
So I have ~ 35 million rows of data. I have seen that I need to get the
data into a collection and then call deletePersistAll(). Is that the only
way?
--
You received this message because you are subscribed to the Google Groups
Google App Engine for Java group.
To view this discussion on the web visit
https://groups.google.com/d/msg/google-appengine-java/-/gg8buxlS2JUJ.
To post to this group, send email to
google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/google-appengine-java?hl=en.
--
You received this message because you are subscribed to the Google Groups
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/google-appengine-java?hl=en.