最终我要在aragnodb实例中加载35GB的数据 到目前为止,我已经尝试过这些方法只加载5GB(并且失败):
通过gremlin加载。它奏效了,但花了3天时间;这不是一个选择。
bulkimport有一个import?
API端点,但我收到以下错误:
...[1] WARNING maximal body size is 536870912, request body size is -2032123904
arangodbimp命令但最终我遇到了两个不同的错误:
--batch-size
它会发光
import file is too big. please increase the value of --batch-size
--batch-size
,它会返回与bulkimport相同的错误。有人能告诉我如何修复命令, 或者实际加载这些数据的方法?
由于
为@DavidThomas编辑,这里有规格:
- RAM:128G
- CPU:2x Intel(R)Xeon(R)CPU E5-2420 0 @ 1.90GHz
- 操作系统:Linux(ubuntu)sneezy 3.13.0-86-generic
- HDD: classic (非SSD)
答案 0 :(得分:1)
我希望您没有将ArangoDB 2.4用作in your link to ArangoImp? ; - )
对于我们的Performance Blogpost series,我们导入了pokec dataset using arangoimp。服务器的最大POST主体大小为512MB。
出于性能原因,arangoimp不解析json,而是倾向于导入文件的一行是要发送的一个文档,因此它可以很容易地将其切成有效的json位。
因此无法处理json转储中的分块,如下所示:
[
{ "name" : { "first" : "John", "last" : "Connor" }, "active" : true, "age" : 25, "likes" : [ "swimming"] },
{ "name" : { "first" : "Lisa", "last" : "Jones" }, "dob" : "1981-04-09", "likes" : [ "running" ] }
]
因此将尝试立即发送整个文件;如果超过指定的批量大小,您将收到import file is too big
错误消息。
但是,如果您的文件每行包含一个文档:
{ "name" : { "first" : "John", "last" : "Connor" }, "active" : true, "age" : 25, "likes" : [ "swimming"] }
{ "name" : { "first" : "Lisa", "last" : "Jones" }, "dob" : "1981-04-09", "likes" : [ "running" ] }
它可以处理--batch-size
上每行的分块,最小尺寸为32kb。
因此,您需要沿着上面的指导线准备转储,以便使用arangoimp。
由于arangoimp也使用导入API,因此它具有与使用raw相同的限制。您需要编写a tiny programm using a stream enabled json parser并将输出转换为每行一个文档。然后,您可以直接在脚本中将块发送到服务器,或使用arangoimp为您处理块。