使用.CSV文件进行Neo4j批量插入需要花费大量时间进行排序和索引

时间:2016-04-19 16:47:56

标签: csv batch-file neo4j

我正在尝试使用从谷歌n-gram收集的数据创建数据库。它实际上是很多数据,但在创建CSV文件之后,插入速度非常快。问题是,在插入之后,neo4j-import工具会立即为数据编制索引,而这一步骤需要花费太多时间。已经超过一个小时了,它看起来已达到了10%的进步。

Nodes
[*>:9.85 MB/s---------------|PROPERTIES(2)====|NODE:198.36 MB--|LABE|v:22.63 MB/s-------------] 25M
Done in 4m 54s 828ms
Prepare node index
[*SORT:295.94 MB-------------------------------------------------------------------------------] 26M

这是控制台信息atm。有没有人建议如何加快这个过程?

谢谢。 (:

1 个答案:

答案 0 :(得分:1)

索引需要很长时间,具体取决于节点数量。我尝试使用1000万个节点进行索引,大约花了35分钟,但您仍然可以尝试这些设置:
增加页面缓存大小,该大小存储在' /var/lib/neo4j/conf/neo4j.properties'文件(在我的ubuntu系统中)。
编辑以下行

dbms.pagecache.memory=4g 

根据你的RAM,分配大小,这里,4g表示4gb空间。此外,您可以尝试更改存储在neo4j-wrapper.conf

中的java内存大小
wrapper.java.initmemory=1024
wrapper.java.maxmemory=1024

您还可以阅读neo4j文档 - http://neo4j.com/docs/stable/configuration-io-examples.html