Python Neo4j-将非常大的CSV导入现有数据库

Python Neo4j-将非常大的CSV导入现有数据库,python,csv,neo4j,cypher,neo4j-shell,Python,Csv,Neo4j,Cypher,Neo4j Shell,我对Neo4j很陌生,已经对所有过时的文档和非常不清楚的命令、它们的效果或速度感到迷茫 我正在寻找一种快速导入一些非常大数据的方法。 对于一种数据,数据是B级的,分为多个CSV,但我不介意将其融合为一个CSV 执行非常简单的导入(加载csv…创建(n:XXX{id:row.id}) 要花很长时间,特别是有一个独特的索引,需要几天。 我停止了操作,删除了唯一索引并重新启动,大约快了2倍,但仍然太慢 我知道neo4j导入(虽然已经弃用,neo4j网站上也没有关于“neo4j管理导入”的文档)。如何做

我对Neo4j很陌生,已经对所有过时的文档和非常不清楚的命令、它们的效果或速度感到迷茫

我正在寻找一种快速导入一些非常大数据的方法。 对于一种数据,数据是B级的,分为多个CSV,但我不介意将其融合为一个CSV

执行非常简单的导入(加载csv…创建(n:XXX{id:row.id}) 要花很长时间,特别是有一个独特的索引,需要几天。 我停止了操作,删除了唯一索引并重新启动,大约快了2倍,但仍然太慢

我知道neo4j导入(虽然已经弃用,neo4j网站上也没有关于“neo4j管理导入”的文档)。如何做一些简单的事情,比如有条件的东西,已经非常不清楚了。 最大的遗憾是,它似乎无法与现有数据库一起工作

主要问题是,是否有任何方法可以加速使用neo4j导入非常大的CSV文件? 首先是像create这样的简单语句,但希望也是match。 现在,在1B节点上运行诸如“match(n:X{id:“Y”})return n limit 1”之类的cypher命令需要几分钟


(我在一台服务器上运行它,有200GB+的RAM和48CPU,所以从硬件的角度来看,这可能不是一个限制).

磁盘IO也非常重要!什么叫非常大的CSV?您的Neo4j配置是什么?您是否定期提交?感谢您的回答,我在要点中分享了更多细节,以避免挤满我的问题:…对于磁盘,而不是SSD,它是快速磁盘的多个RAID(其他软件读取/创建文件的速度非常快)。文件也应该放在RAM中。服务器在Ubto上只有Neo4j 3.2.2社区,未经修改。是的,我每100K使用一次定期提交。我将“合并”更改为“创建”现在,在explain命令中,它似乎是性能最好的解决方案……脚本已经运行了4天,仍然没有完成。而且因为它仍然锁定索引(为什么?)我甚至不能将其划分为在多个进程上运行…这真的很麻烦,我想知道neo4j是否真的准备好投入生产了?@Einharch您解决了这个问题了吗?现在似乎无法访问要点。磁盘IO也非常重要!您称什么为非常大的CSV?您的neo4j配置是什么?您是否进行了定期提交?谢谢为了回答这个问题,我在一个要点中分享了更多的细节:对于磁盘,而不是SSD,它是快速磁盘的多个RAID(文件由其他软件快速读取/创建).文件也应该在RAM中fir。服务器在Ubto上只有Neo4j 3.2.2社区,未经修改。是的,我每100K使用一次定期提交。我将“合并”更改为“创建”现在,在explain命令中,它似乎是性能最好的解决方案……脚本已经运行了4天,仍然没有完成。而且因为它仍然锁定索引(为什么?)我甚至无法将其划分为在多个进程上运行……这真的很麻烦,我想知道neo4j是否真的准备好投入生产了?@Einharch您解决了这个问题吗?而且现在似乎无法访问要点。