0
我试图使用Batch-importer导入2000万个节点和2.5亿个关系到Neo4j。我有8GB的RAM。使用Neo4j导入大型数据集时配置设置批量导入程序
这里是我的当前设置在batch.properties
:
use_memory_mapped_buffers=false
neostore.nodestore.db.mapped_memory=500M
neostore.relationshipstore.db.mapped_memory=2000M
neostore.relationshipgroupstore.db.mapped_memory=10M
neostore.propertystore.db.mapped_memory=1G
neostore.propertystore.db.strings.mapped_memory=200M
neostore.propertystore.db.arrays.mapped_memory=0M
neostore.propertystore.db.index.keys.mapped_memory=15M
neostore.propertystore.db.index.mapped_memory=50M
batch_import.node_index.users=exact
batch_import.csv.quotes=false
cache_type=none
花了大约7分钟,进口20万个节点。
看来,对于关系而言,导入1000万(按照控制台上的输出)需要13分钟。
这意味着需要大约6个小时(250/10 * 13)来导入所有的关系。我们可以改进吗?
谢谢迈克尔,这个优秀的秘诀! 我已经转移到使用新的导入工具,我可以在25分钟内导入完整的数据集。 你能解释一下控制台输出的含义吗? 它会打印跳过的关系数量吗? – Jay 2015-02-10 01:04:50
特别是,以下不同的意思是什么意思?它每秒都在控制台上打印输出吗? '[INPUT ------ | PREPARE(| RELATIO ||] 49M' and'[Relationship - > Relationship + counts -------] 282M' 我想找每秒导入多少个节点/边缘。 – Jay 2015-02-12 03:04:30