赞
踩
Neo4j是由Java实现的开源NoSql图数据库,是图数据库中较为流行的一款。网易内部集群版本Neo4j提供了完整的数据库特性,包括ACID事务的支持、因果集群支持、备份/恢复与故障转移等。
随着越来越多的业务使用Neo4j数据库,数据如何快速导入成为备受业务关心的问题。
本文主要介绍Neo4j批量导入在线和离线数据的几种方法,常见问题,优缺点,以及适用场景等。
最近整理了一些Java架构学习视频和大厂项目底层知识点,需要的同学欢迎私信我【Java】发给你~
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。