【发布时间】:2014-10-29 10:02:49
【问题描述】:
我想将大约 4000 万行的 csv 文件导入 neo4j。为此,我尝试使用来自https://github.com/jexp/batch-import 的“batchimporter”。 也许我提供自己的 ID 是个问题。这是例子
nodes.csv
i:id l:标签
315041100 人
201215100 人
315041200 人
rels.csv:
开始 结尾 类型 相关
315041100 201215100 HAS_RELATION 30006
315041200 315041100 HAS_RELATION 30006
batch.properties 的内容:
use_memory_mapped_buffers=true
neostore.nodestore.db.mapped_memory=1000M
neostore.relationshipstore.db.mapped_memory=5000M
neostore.propertystore.db.mapped_memory=4G
neostore.propertystore.db.strings.mapped_memory=2000M
neostore.propertystore.db.arrays.mapped_memory=1000M
neostore.propertystore.db.index.keys.mapped_memory=1500M
neostore.propertystore.db.index.mapped_memory=1500M
batch_import.node_index.node_auto_index=exact
./import.sh graph.db nodes.csv rels.csv
将被正确处理,但大约需要 60 秒!
Importing 3 Nodes took 0 seconds
Importing 2 Relationships took 0 seconds
Total import time: 54 seconds
当我使用较小的 ID - 例如 3150411 而不是 315041100 - 只需 1 秒!
Importing 3 Nodes took 0 seconds
Importing 2 Relationships took 0 seconds
Total import time: 1 seconds
实际上,我会使用更大的 10 位 ID。我不知道我做错了什么。任何人都可以看到错误吗?
- JDK 1.7
- batchimporter 2.1.3(带有 neo4j 2.1.3)
- 操作系统:ubuntu 14.04
- 硬件:8 核 Intel-CPU,16GB RAM
【问题讨论】: