【发布时间】:2014-11-30 12:02:10
【问题描述】:
在使用batch importer 读取大型节点和关系文件时,我一直遇到 NotFoundException。我之前已经成功地将导入器用于更大的数据集,但我已经重写了生成这两个文件的方式,我正试图弄清楚为什么它现在会引发错误。
问题
似乎读取了nodes文件,然后在rels文件开头附近抛出了一个错误,说明找不到node。我相信这是因为它并没有真正导入所有节点。它报告只导入了 nodes.tsv 中的一半节点(总共 4.6m 中的 2.1m)。
我检查过的内容:
- nodes.tsv 中的节点编号是连续的(0 到 ~4.5m)
- 引发异常的节点出现在两个文件中(包括作为 rels.tsv 中的源和目标)
- 我可以使用相同的 tsv 生成器脚本成功导入较小的数据子集(约 80k 个节点)
- 即使关系未按目标排序(仅在源上),较小的子集也不会引发此异常
插入命令:
./import.sh wiki.db nodes.tsv rels.tsv
错误信息
Using Existing Configuration File
.....................
Importing 2129648 Nodes took 6400 seconds
Total import time: 6404 seconds
Exception in thread "main" org.neo4j.graphdb.NotFoundException: id=3608148
at org.neo4j.unsafe.batchinsert.BatchInserterImpl.getNodeRecord(BatchInserterImpl
.java:1215)
at org.neo4j.unsafe.batchinsert.BatchInserterImpl.createRelationship(BatchInserte
rImpl.java:777)
at org.neo4j.batchimport.Importer.importRelationships(Importer.java:154)
at org.neo4j.batchimport.Importer.doImport(Importer.java:232)
at org.neo4j.batchimport.Importer.main(Importer.java:83)
文件
nodes.tsv(4578730 行)
node name l:label degrees
0 Stroud_railway_station Page 21
1 ATP–ADP_translocase Page 38
2 Pedro_Hernández_Martínez Page 12
3 Christopher_Lowther Page 4
4 Cloncurry_River Page 10
5 Neil_Kinnock Page 147
6 Free_agent_(business) Page 10
7 Christian_Hilt Page 27
8 2009_Riviera_di_Rimini_Challenger Page 27
rels.tsv(113322480 行)
start end type
0 3608148 LINKS_TO
0 870126 LINKS_TO
0 1516248 LINKS_TO
0 3493391 LINKS_TO
0 3034096 LINKS_TO
0 1421544 LINKS_TO
0 2808745 LINKS_TO
0 1872783 LINKS_TO
0 1673612 LINKS_TO
【问题讨论】:
标签: neo4j