首页 文章

ArangoDB - csv文件上的arangoimp在大型数据集上非常慢

提问于
浏览
2

我是arango的新手 . 我正在尝试将我的一些数据从Neo4j导入arango . 我正在尝试添加数百万个节点和边缘来存储各种人的播放列表数据 . 我有来自neo4j的csv文件 . 我运行了一个脚本来更改节点的csv文件的格式以具有_key属性 . 并且边缘具有_to和_from属性 . 当我在一个非常小的数据集上尝试这个时,事情很完美,我可以在UI上看到图形并执行查询 . 答对了!

现在,我正在尝试添加数百万行数据(每个arangoimp批量导入一个大约100,000行的csv) . 每个批处理有5个集合(每个集合有一个不同的csv文件)在大约7-8批这样的数据之后,系统突然变得很慢,没有响应并抛出以下错误:

  • 错误错误消息:失败并显示错误:损坏的集合这只是随机出现的任何批次,尽管数据的格式与之前的批次完全相同

  • 错误无法连接到 endpoints 'tcp://127.0.0.1:8529',数据库:'_ system',用户名:'root'来自服务器的FATAL错误:HTTP 401(未授权)'

  • 否则它只是几个小时的处理,几乎没有任何进展

我猜这一切都与大量的进口有关 . 有些帖子说我可能有太多文件描述符,但我不知道如何处理它 .

我注意到的另一件事是,所有5个集合中最大的集合是主要得到错误的集合(尽管其他集合也是如此) . 文件描述符是否仍然特定于某个集合,即使在不同的import语句中也是如此?

有人可以帮我指点正确的方向吗?我不确定如何开始调试问题

先感谢您

1 回答

  • 1

    这里的问题是,服务器不得在可用磁盘I / O方面超支 . 这种情况可能会从更多可用RAM中受益 . 系统还必须在导入时维护索引,这会增加集合中文档数量的复杂性 .

    使用ArangoDB 3.4 we have improved Arangoimp to maximize throughput, without maxing out可以解决这种情况,并且无需将导入数据拆分为块 .

    但是,正如它本身一样,应该准备CSV格式,也支持JSONL .

相关问题