[英]How to import large XML/JSON dataset into Django/Postgres app/database?
我们有一个庞大的Filemaker数据库,并编写了一个工具,可将所有必需的信息导出到XML / JSON。
我们已经使用Django REST框架创建了Django应用,并适当地设置了模型,但是现在对于将所有XML / JSON数据导入站点的最佳方法有些困惑。
最初,我们修改了Filemaker输出以匹配dumpdata
的结构,并认为将夹具与loaddata
结合使用将是理想的选择,但我读得越多,由于文件的最终大小和内存问题,这似乎是不可能的(我们将应用托管在目前是一个heroku开发实例)。
谁能推荐将此数据集加载到我们的Django应用中的最佳方法? (我们也可以编写脚本以通过API逐一插入所有内容,但这似乎效率很低)。
如果很重要,我们的JSON结构例如如下:
[
{
"model": "archive.archiveobject",
"pk": 1,
"fields": {
"title": "Example Title",
"description": "Example Description",
"date_begin": "2014-03-12",
"date_end": "2014-03-12",
"created": "2014-04-01T14:04:53.496Z",
"owner": 1
}
}
]
您应该考虑的其他一些事项:
我的建议是将作业分成多个块(可能是100个对象,然后从那里上来),并创建一个批量加载API调用,您可以使用该API来加载这些块。 一种快速而肮脏的解决方案可能是将这些块放入单独的文件(chunk-0000001.json)中,并在完成后重命名(loaded-chunk-0000001.json)。 这些文件的文件级锁定将允许您同时运行作业。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.