我是arango的新手。我试图将我的一些数据从Neo4j导入arango。 我正在尝试添加数百万个节点和边缘来存储各种人的播放列表数据。我有来自neo4j的csv文件。我运行了一个脚本来更改节点的csv文件的格式以具有_key属性。并且边缘具有_to和_from属性。 当我在一个非常小的数据集上尝试这个时,事情很完美,我可以在UI上看到图形并执行查询。宾果!
现在,我正在尝试添加数百万行数据(每个arangoimp批量导入一个大约100,000行的csv)。每个批次有5个集合(每个集合都有一个不同的csv文件) 在大约7-8批这样的数据之后,系统突然变得非常缓慢,没有响应并抛出以下错误:
错误错误消息:失败并显示错误:收集已损坏 这只是随机出现的任何批次,虽然数据的格式与以前的批次完全相同
错误无法连接到端点' tcp://127.0.0.1:8529',数据库:' _system',用户名:' root' FATAL从服务器收到错误:HTTP 401(未经授权)'
否则只需几个小时处理,几乎没有任何进展
我猜这一切都与大量的进口有关。有些帖子说我可能有太多文件描述符,但我不知道如何处理它。
我注意到的另一件事是,所有5个集合中最大的集合是主要得到错误的集合(尽管其他集合也可以)。文件描述符是否仍然特定于某个集合,即使在不同的import语句中也是如此?
请有人帮我指点正确的方向吗?我不确定如何开始调试问题
提前谢谢
答案 0 :(得分:1)
这里的问题是,就可用磁盘I / O而言,服务器不得超载。这种情况可能会受益于更多可用的RAM。 该系统还必须在导入时维护索引,这会增加集合中文档数量的复杂性。
使用ArangoDB 3.4 we have improved Arangoimp to maximize throughput, without maxing out应该可以解决这种情况,并消除了将导入数据拆分成块的必要性。
但是,应该已经准备好CSV格式,而且还支持JSONL。