当前位置:   article > 正文

使用neo4j_批量导入数据提速80%,不一样的Neo4j打开方式

neo4j 提升数据导入速度

Neo4j是由Java实现的开源NoSql图数据库,是图数据库中较为流行的一款。网易内部集群版本Neo4j提供了完整的数据库特性,包括ACID事务的支持、因果集群支持、备份/恢复与故障转移等。
随着越来越多的业务使用Neo4j数据库,数据如何快速导入成为备受业务关心的问题。

本文主要介绍Neo4j批量导入在线和离线数据的几种方法,常见问题,优缺点,以及适用场景等。

最近整理了一些Java架构学习视频和大厂项目底层知识点,需要的同学欢迎私信我【Java】发给你~

1 离线数据导入

1.1 Neo4j-import

Neo4j-import是官方提供的离线数据导入工具,输入文件为CSV格式,导入时需要关闭neo4j进程,不支持增量数据导入,导入效率最高。适用场景:适合项目刚刚开始,新建数据库,导入大量离线数据,这种方式速度最快。

1、 导入方法

Example:        bin/neo4j-import --into retail.db --id-type string --nodes:Customer customers.csv        --nodes products.csv --nodes orders_header.csv,orders1.csv,orders2.csv        --relationships:CONTAINS order_details.csv        --relationships:ORDERED customer_orders_header.csv,orders1.csv,orders2.csv

Neo4j-import支持单个/多个nodes和relationships文件导入,支持nodes和relationships同时导入,id-type支持[STRING, INTEGER, ACTUAL]类型,默认是string类型。

  • 导入节点
$./bin/neo4j-import --into pokec.db --nodes node.csv

其中node.csv文件是schema头+nodes数据两部分

id:ID,name,:LABEL,tag1,'1@163.com',AccountNode1,'Black'2,'2@163.com',AccountNode2,'Black'3,'3@163.com',AccountNode3,'Black'4,'4@163.com',AccountNode4,'Black'5,'5@163.com',AccountNode5,'Black'6,'6@163.com',AccountNode6,'Black'7,'7@163.com',AccountNode7,'Black'8,'8@163.com',AccountNode8,'Black'9,'9@163.com',AccountNode9,'Black'10,'10@163.com',AccountNode10,'Black'
  • 导入关系
$./bin/neo4j-import --into pokec.db --relationships relation.csv

其中relation.csv文件也是schema头+nodes数据两部分

id:START_ID,id:END_ID,:TYPE1,2,RelationShip12,3,RelationShip23,4,RelationShip34,5,RelationShip45,6,RelationShip56,7,RelationShip67,8,RelationShip78,9,RelationShip89,10,RelationShip910,1,RelationShip10
  • 同时导入节点和关系
$./bin/neo4j-import --into pokec.db --nodes genneo4jdata/node.csv --relationships genneo4jdata/relation.csv
  • 导入后的
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/703379
推荐阅读
相关标签
  

闽ICP备14008679号