3、Kettle导入工具:映射并执行数据处理流程的步骤,适用于非常大的数据集,特别是如果开发人员已经熟悉使用此工具(此章节不涉及)。
1、load CSV Cypher 命令
//查看前csv文件行数,但不入库load csv from 'file:///companies.csv' as linereturn count(*)//查看csv文件前5行load csv from 'file:///companies.csv' as linereturn linelimit 5//查看csv文件前5行,带表头load csv with headers from 'file:///companies.csv' as linereturn linelimit 5//读取E:companies.csvload csv from 'file:///E:/companies.csv' as linereturn linelimit 5//跳过空数据,入库load csv from 'file:///E:/companies.csv' as lineWITH line WHERE line.Id IS NOT NULLMERGE (c:Company {companyId: line.Id});//加入case操作LOAD CSV WITH HEADERS FROM 'file:///companies.csv' AS rowWITH row WHERE row.Id IS NOT NULLWITH row,(CASE row.BusinessTypeWHEN 'P' THEN 'Public'WHEN 'R' THEN 'Private'WHEN 'G' THEN 'Government'ELSE 'Other' END) AS typeMERGE (c:Company {companyId: row.Id, hqLocation: coalesce(row.Location, "Unknown")})SET c.emailAddress = CASE trim(row.Email) WHEN "" THEN null ELSE row.Email ENDSET c.businessType = typeRETURN count(c);
上述操作都是在浏览器工具里可以直接操作,csv文件放置在相应位置。
如果要导入大量数据的CSV文件,则可以使用PERODIC COMMIT子句。使用PERODIC COMMIT指示Neo4j在执行完一定行数后提交数据在继续,这样减少了内存开销。默认是1000行提交一次。使用方法如下:
//每500行提交一次。USING PERIODIC COMMIT 500load csv from 'file:///E:/companies.csv' as lineWITH line WHERE line.Id IS NOT NULLMERGE (c:Company {companyId: line.Id});
从Neo4j2.2版本开始,系统就自带了一个大数据量的导入工具:neo4j-admin import,可支持并行,可扩展的大规模CSV数据导入。neo4j-admin import工具允许通过指定节点文件和关系文件将 CSV 数据导入空数据库。首先,在neo4j系统目录下的/bin/neo4j-import路径下找到这个工具的可执行文件。使用示例:
bin/neo4j-admin import --database orders 创建一个名为orders的新数据库--nodes=Customer=customers.csv //--nodes 表示CSV文件是节点--nodes=products.csv--nodes=Order="orders_header.csv,orders1.csv,orders2.csv"--relationships=CONTAINS=order_details.csv //--relationsship表示文件是关系--relationships=ORDERED="customer_orders_header.csv,orders1.csv,orders2.csv"--trim-strings=true
- 本期完 -
,我会及时回复。由于微信限制了公众号留言功能,有问题你可以直接发公众号聊天,我会在下期文章末尾解答你的问题。为方便看最新内容,长按下图图片记得关注哦

!

文章转载自Neo4j权威指南,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




