[英]Speedup relationship and node creation using cypher in Neo4j
我有2个csv文件A和B。文件A包含具有6个属性的7000行,文件B包含具有11个属性的10M行。 此外,文件A具有用作主键的属性PKA,而文件B具有用作PKA的外键的属性FKA。
我想以这种方式将这些文件加载到Neo4j中:1-为文件A和文件B的每一行插入一个新节点2-在创建的代表所描述的主键和外键的任何节点之间添加关系。
当前,我已经使用JAVA API通过BatchInserter插入了这些文件,为这些文件的每一行添加了一个节点,并分别为文件A和文件B设置了标签“ A”和“ B”。 我还为PKA和FKA创建了两个索引。 要添加关系,我的意图是调用以下cypher语句(来自Neo4jShell):
match (a:A), (b:B) where a.PKA=b.FKB create (a)<-[:KEYREL]-(b);
我的问题是:-使用BatchInserter添加文件B的节点需要14分钟(最大的一个),最后只提交一次(〜12k节点/秒,〜130k属性/秒),我想加快导入的速度。因子2。-密码查询无法使用此数据集大小进行处理,但我想这样做是可能的。
我在具有IntelXeon @ 2.6Ghz双核和8GB RAM(已安装Windows 64位和Java8 64位)的VM上运行。 我已经使用以下Java选项运行了导入Java程序和Neo4jShell:
-server -XX:+UseConcMarkSweepGC -Xms2000m -Xmx5000m
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.