2
我正在使用当前的django non-rel和现在默认的高复制数据存储区在Google App Engine上开发应用程序。我目前正试图以散装的一个开发实例本地加载一个180MB的CSV文件使用以下命令:将长批量数据加载到Google App Engine数据存储区
appcfg.py upload_data --config_file=bulkloader.yaml --filename=../my_data.csv --kind=Place --num_threads=4 --url=http://localhost:8000/_ah/remote_api --rps_limit=500
bulkloader.yaml
python_preamble:
- import: base64
- import: re
- import: google.appengine.ext.bulkload.transform
- import: google.appengine.ext.bulkload.bulkloader_wizard
- import: google.appengine.ext.db
- import: google.appengine.api.datastore
- import: google.appengine.api.users
transformers:
- kind: Place
connector: csv
connector_options:
encoding: utf-8
columns: from_header
property_map:
- property: __key__
external_name: appengine_key
export_transform: transform.key_id_or_name_as_string
- property: name
external_name: name
大容量加载是一个截断实际上成功,1000个CSV格式的记录版本,但整套设备最终陷入困境,开始出现错误,“退避”,等待时间越来越长。我实际上尾随的bulkloader-log没有透露任何有用的信息,也没有显示服务器的stderr。
任何帮助理解这个批量加载过程,将不胜感激。我的计划是最终能够将大数据集加载到谷歌数据存储中,但这并不乐观。
准备好了,它更具可扩展性,但有多个未解决的问题 – systempuntoout
谢谢。昨天我发现默认的本地数据存储是一个简单的内存映射,我昨天才明白这一点。 – scottzer0