批量导入/arangoimp

Bulkimport / arangoimp

最终我必须在 aragnodb 实例中加载 35GB 的数据。
到目前为止,我已经尝试过这些方法来仅加载 5GB(但失败了):

谁能告诉我如何修复命令, 或者实际加载这些数据的方法?

谢谢

为@DavidThomas 编辑,规格如下:
- 内存:128G
- CPU:2x Intel(R) Xeon(R) CPU E5-2420 0 @ 1.90GHz
- OS: Linux (ubuntu) 打喷嚏 3.13.0-86-generic
- 硬盘:经典(非固态硬盘)

我希望你没有像 in your link to ArangoImp 那样使用 ArangoDB 2.4? ;-)

为了我们的Performance Blogpost series we imported the pokec dataset using arangoimp。服务器的最大 POST 主体大小为 512MB。

出于性能原因,arangoimp 不解析 json,而是依靠导入文件的一行作为要发送的文档,因此它可以轻松地将其切成有效的 [=36] =].

因此它无法像这样处理 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,因此它具有与原始使用相同的限制。您需要编写 a tiny programm using a stream enabled json parser 并将输出翻译为每行一个文档。然后,您可以直接在脚本中将块发送到服务器,或使用 arangoimp 为您处理分块。