Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > 批量数据导入Neo4j方式

批量数据导入Neo4j的实现方式

作者:WHYBIGDATA

本文总结了Neo4j批量数据导入的三种方式:LOADCSV(处理中小数据集)、neo4j-admin(适用于大数据)及Kettle工具,需注意CSV格式、路径配置、数据类型转换及编码问题,确保数据正确导入

批量数据导入Neo4j方式

1、写在前面

2、前置芝士

Cypher中的LOAD CSV命令允许我们指定一个文件路径、是否有头文件、不同的值定界符,以及Cypher语句,以便我们在图形中对这些表格数据进行建模。

进入Neo4j安装目录,并且进入到conf目录中,查看neo4j.conf配置文件

zhangsan@node01:~$ cd /usr/local/neo4j-3.5.12/conf/
zhangsan@node01:/usr/local/neo4j-3.5.12/conf$ ll
总用量 24
drwxr-xr-x  2 lbj lbj  4096 11月 24 06:38 ./
drwxr-xr-x 12 lbj lbj  4096 11月 24 06:32 ../
-rw-r--r--  1 lbj lbj 15918 10月 18 04:21 neo4j.conf

neo4j.conf配置文件中的dbms.directories.import参数是关于load data的文件路径的设置,默认是在Neo4j安装目录下的

import目录,删除/注释掉dbms.directories.import=import这一行,即可使用自定义路径导入数据到Neo4j

# This setting constrains all `LOAD CSV` import files to be under the `import` directory. Remove or comment it out to
# allow files to be loaded from anywhere in the filesystem; this introduces possible security problems. See the
# `LOAD CSV` section of the manual for details.
dbms.directories.import=import

3、CSV数据导入Neo4j

3.1 LOAD CSV Cypher命令

LOAD CSV Cypher命令:

LOAD CSV可以处理本地远程文件,每一种都有一些相关的语法。

本地文件可以在文件名前使用file:///的前缀来加载。

因为AuraDB是基于云(Cloud)的,所以这种本地文件的方法不能用于AuraDB,只能用于本地安装。

USING PERIODIC COMMIT 200 LOAD CSV FROM 'file:///tb_books.csv' AS line
merge (b1:books1{id:line[0],type:line[1],name:line[2],author:line[3],price:line[4]})
USING PERIODIC COMMIT 200 LOAD CSV WITH HEADERS FROM 'file:///tb_books.csv' AS line
merge (b1:books1{id:line[0],type:line[1],name:line[2],author:line[3],price:line[4]})

USING PERIODIC COMMIT之后的参数:指定一次导入数据的上限是多少

关于csv格式数据导入的重要说明

请记住,Neo4j不存储空值。CSV文件中的空字段可以被跳过,或者在LOAD CSV中用默认值替换。

3.2 neo4j-admin命令

neo4j-admin批量导入工具:

../bin/neo4j-admin import --database orders
     --nodes=Customer=customers.csv
     --nodes=products.csv
     --nodes=Order="orders_header.csv,orders1.csv,orders2.csv"
     --relationships=CONTAINS=order_details.csv
     --relationships=ORDERED="customer_orders_header.csv,orders1.csv,orders2.csv"
     --trim-strings=true

3.3 Kettle导入工具

Kettle导入工具:

4、数据导入失败

如果,数据文件的路径没有问题之后,那大概率是文件的格式问题,将文件重新保存为utf-8的格式即可。

利用NotePad++或者Sublime Text即可

参考资料:neo4j

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文