Background:
While coding on GAE’s local Development Web Server, user need to upload Mega-level datas and store (not straight forward store, but need many format check and translate) them into Datastore using deferred library.
Usually about 50,000 entities, CSV File size is about 5MB, and I tried to insert 200 entities each time using deferred library.
And I used python.
Problem
The development server is really slow that I need to wait one/more hours to finish this upload process.
I used –use_sqlite option to speed up the development web server.
Question:
Is there any other method or tuning that can make it faster?
appengine-mapreduce is definitely an option for loading CSV files. Use blobstore to upload CSV file and then setup
BlobstoreLineInputReadermapper type to load data into datastore.Some more links: Python Guide to mapreduce reader types is here. The one of interest is BlobstoreLineInputReader. The only input it requires is the key to the blobstore record containing uploaded CSV file.