2018-11-19 Neo4j百万级数据导入只能用neo4j-import

image.png

业务需要使用Neo4j出数据关系展示图,数据库里有2张表通过一个字段进行关联,数据量是90万和500万,关系量是150w;

从一开始使用REST API 循环导入,但创建节点没有问题,但是要通过将数据导入内存再生出关联关系就出现内存不足了;

后来通过cypher 语句,load csv 来创建节点和关系,创建节点时,数据超过20w条就不行了,创建关系更是慢的不行,注意:windows下load csv文件路径为:file:/d:/csv/company.csv,官网上写的貌似不行;

以上2种方法可以对少量数据进行操作。 百万级数据可以使用下面这种方法: 1、先生成csv文件,按格式来:

文件名:company-header.csv
内容:
regno,name,id:ID
文件名:company.csv
内容:
1234,apple,c001
文件名:person.csv
内容:
cerno,name,id:ID
3201,jobs,p001
文件名:relationship.csv
内容:
:START_ID,:END_ID,:TYPE
p001,c001,creator

然后通过neo4j官方提供的Neo4jImport来操作,具体指令是: cmd下先进入Neo4j文件夹,执行命令:bin\neo4jimport –into data/graph.db –nodes:Company company-header.csv,company.csv –nodes:Person person.csv –relationships relationship.csv

注意文件地址可以使用相对地址,也可以使用绝对地址

上面是2中风格的写法,文件头和文件内容分开写,头和内容写一起,分开写的好处是修改文件头的时候,不用打开文件内容,如果文件内容太大,打开容易卡死;

文件头中:ID是用来创建关系时的连接点,:START_ID是关系起始点; :END_ID是关系结束点;:TYPE是关系类型; 上列中还有没用到的是:LABEL是用来创建标签的,一组数据可以设置多个标签,用分号分隔;

这是我导入数据的用时:

400W节点,180W关系,用时30s 以上这种方式只能一次创建好数据库,该命令不能分批对一个数据库进行操作

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏V站

php://协议深入理解

今天晚上,听了漏洞银行的大咖公开课讲的内网渗透,感觉和大咖之间还有不少差距,不过搞到了一波工具,心里依然美滋滋~

4654
来自专栏xiaoxi666的专栏

阅读Java Native源码前的准备

读java native源代码时,我们一般会去网站下载openjdk8源码http://download.java.net/openjdk/jdk8/promo...

932
来自专栏乐沙弥的世界

Percona XtraDB Cluster GCache和Record-Set缓存

在Percona XtraDB集群中,有一个GCache和Record-Set缓存(也可称为事务写集缓存)的概念。如果您正在运行长事务,那么使用这两个缓存通常会...

1140
来自专栏windealli

常用压测工具

webbench 是常用的网站压力测试工具,webbench用C语言编写,代码仅有区区几百行。

7035
来自专栏安恒网络空间安全讲武堂

IAT Hook 技术分析

来源:https://pentest.blog/offensive-iat-hooking/

1532
来自专栏FreeBuf

浅谈XXE攻击

0×00. 介绍 现在越来越多主要的web程序被发现和报告存在XXE(XML External Entity attack)漏洞,比如说facebook、pa...

2068
来自专栏Vamei实验室

Linux文件管理相关命令

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 在了解了Linux文件管理背景知识之后, ...

1995
来自专栏程序员互动联盟

【专业技术】8大你不得不知的Android调试工具

1. 查看当前堆栈 1) 功能:在程序中加入代码,使可以在logcat中看到打印出的当前函数调用关系 2) 方法: new Exception(“print ...

57913

Web服务器压力测试工具Siege

Siege是一款HTTP压力测试和基准测试的实用工具,可用于在压力条件下对Web服务器的性能进行测量。它的评估依据包括传输数据量、服务器的响应时间、事务处理速率...

2283
来自专栏猿人谷

使用asp调用.net xml web services

(是不是实际上可以用这个办法调用任何xml web services呢?高人答一下) 最近在做一个web services,由我来写文档。为了方便广大asp用户...

2507

扫码关注云+社区