neo4j 大量数据的批量导入

这篇文章 将记录使用neo4j-import 工具进行大批量数据快速导入neo4j数据库中的具体过程。
Super Fast Batch Importer For Huge Datasets Into Neo4j Graph Database

官方文档在这里:

https://neo4j.com/developer/guide-import-csv/#_super_fast_batch_importer_for_huge_datasets


1. 数据准备

使用批量数据导入的时候,需要将数据准备为csv格式,即每个字段使用,
进行分隔。比如我们现在有人名,地名,组织名三种属性的实体(这些实体也即是neo4j中的节点),实体的属性为了简单只有name和id,实体之间的关系也为了简单只有一个种关系,所有存在的关系标签都叫relation。下面我们将三种实体和关系分为三个csv文件保存,文件的内容大致如下:
    1. person.csv
id:IDname
1马云
2柳传志
….

- 2. location.csv

id:IDname
3北京
4上海
….

- 3. organization.csv

id:IDname
5阿里巴巴集团
6联想集团
….

- 4. relation.csv

:SATART_ID:END_IDlinks
15董事局主席
26xxx
….
需要注意的是,三个实体表中的:ID是必须写的,并且ID 全局唯一,也就是三个表格中的ID都是唯一的,不可以有重复,在关系表中,不可以存在没有ID指向的实体

2. 导入

导入的时候我是在windows上进行的,所以请在cmd中将路径转到pat/neo4j/bin目录下。
使用如下命令进行四个csv文件的导入:

neo4j-import.bat --into ../data/databases/graph.db --id-type string
--nodes:person ../import/person.csv 
--nodes:organization ../import/organization.csv 
--relationships:Links ../import/relation.csv
我将文件放在了path/neo4j/import目录下了,所以的路径使用的是相对路径指向文件所在。上述命名的第一行的graph.db是配置文件中激活默认的数据库名,路径在path/neo4j/data/databases/下。如果该目录下graph.db存在,那么会创建失败,因为batch import是为了初次数据导入准备的,这个数据库目录必须是不存在的。
导入成功的截图:

这里写图片描述

3.需要注意点

3.1 使用LOAD CSV 批量导入数据

可以在浏览器端或者是neo4j的console下进行这种方式的数据导入,但是这种方式只适用于20M以内的数据导入,对于大量数据是不适用的。

3.2 –nodes:xxx

这里:后面表示的是节点的LABEL-NAME,和使用create(“马云”:Person)中的Label-Name等效.

同理relationships:xxx这个冒号后面的等同[R:XXX]是一样的

3.3 停止数据库服务

在使用上面的import的时候,必须关闭neo4j的数据库服务,如果–into后面的数据表不是conf中配置的db,请修改后再启动。否则是查不到任何导入的数据的。

Reference

  1. https://neo4j.com/developer/guide-import-csv/#_super_fast_batch_importer_for_huge_datasets
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值