gpt4 book ai didi

json - 如何从CouchDB中的巨大JSON文件(460 MB)批量插入

转载 作者:行者123 更新时间:2023-12-02 03:59:57 25 4
gpt4 key购买 nike

我需要在CouchDB数据库中批量插入文档。
我正在尝试按照以下手册进行操作:http://wiki.apache.org/couchdb/HTTP_Bulk_Document_API

这是我的脚本:

~$ DB="http://localhost:5984/employees"
~$ curl -H "Content-Type:application/json" -d @employees_selfContained.json -vX POST $DB/_bulk_docs

文件employee_selfContained.json是一个巨大的文件= 465 MB。我已经使用JSONLint对其进行了验证,但没有发现任何错误。

这是curl的详细输出:
* About to connect() to 127.0.0.1 port 5984 (#0)
* Trying 127.0.0.1... connected
* Connected to 127.0.0.1 (127.0.0.1) port 5984 (#0)
> POST /employees/_bulk_docs HTTP/1.1
> User-Agent: curl/7.19.7 (i486-pc-linux-gnu) libcurl/7.19.7 OpenSSL/0.9.8k zlib/1.2.3.3 libidn/1.15
> Host: 127.0.0.1:5984
> Accept: */*
> Content-Type:application/json
> Content-Length: 439203931
> Expect: 100-continue
>
< HTTP/1.1 100 Continue
* Empty reply from server
* Connection #0 to host 127.0.0.1 left intact
curl: (52) Empty reply from server
* Closing connection #0

如何从那个巨大的单个文件中批量插入?如果可能,我不希望将文件拆分为较小的大小。

编辑:如果有人想知道,我正在尝试转换此架构:
http://dev.mysql.com/doc/employee/en/sakila-structure.html
进入独立的文档数据库,其结构如下:
{
"docs": [
{
"emp_no": ..,
"birth_date": ..,
"first_name": ..,
"last_name" : ..,
"gender": ..,
"hire_date": ..,
"titles":
[
{
"title": ..,
"from_date": ..,
"to_date": ..
},
{..}
],
"salaries" :
[
{
"salary": ..,
"from_date": ..,
"to_date": ..
},
{..}
],
"dept_emp":
[
{
"dept_no": ..,
"from_date": ..,
"to_date":
},
{..}
],
"dept_manager":
[
{
"dept_no": ..,
"from_date": ..,
"to_date": ..
},
{..}
],
"departments":
[
{
"dept_no": ..,
"dept_name": ..
},
{..}
]
} ,
.
.
{..}
]
}

最佳答案

循环遍历JSON并分批插入10-50k个文档。

关于json - 如何从CouchDB中的巨大JSON文件(460 MB)批量插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10979479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com