将非常大的CSV加载到Neo4j中

时间:2014-12-11 05:53:32

标签: csv neo4j data-import

我想将一组大型rdf三重文件加载到Neo4j中。我已经编写了map-reduce代码来读取所有输入n-triples并输出两个CSV文件:nodes.csv(7GB-9,000万行)和relationships.csv(15GB-1.2亿行)。

我从Neo4j v2.2.0-M01尝试了batch-import命令,但是在加载大约30M行节点后它崩溃了。我的机器里有16GB的RAM,所以我设置了wrapper.java.initmemory = 4096和wrapper.java.maxmemory = 13000。所以,我决定将nodes.csv和relationships.csv拆分成更小的部分,并为每个部分运行批量导入。但是,我不知道如何合并从多个导入创建的数据库。 我很欣赏有关如何将大型CSV文件加载到Neo4j中的任何建议。

2 个答案:

答案 0 :(得分:1)

我最终可以在Neo4j 2.2.0-M02中使用batch-import command加载数据。总共花了56分钟。阻止Neo4j加载CSV文件的问题是“在一些值中,这被解释为要包含在字段值中的引用字符,这从现在开始搞乱了所有内容。

答案 1 :(得分:0)

为什么不尝试这种方法(使用groovy):http://jexp.de/blog/2014/10/flexible-neo4j-batch-import-with-groovy/

您将在节点上创建唯一性约束,因此不会创建重复项。