【发布时间】:2020-03-16 08:48:02
【问题描述】:
目前,我正在尝试导入一个包含大约 200 万行的 CSV 文件。每条线对应一个节点。我正在使用 neo4j 浏览器。注意:我也试过neo4j import tool,但它的工作速度也慢了一些。
我尝试使用标准密码查询来运行脚本,例如
USING PERIODIC COMMIT 500 LOAD CSV FROM 'file:///data.csv' AS r
WITH toInteger(r[0]) AS ID, toInteger(r[1]) AS national_id, toInteger(r[2]) as passport_no, toInteger(r[3]) as status, toInteger(r[4]) as activation_date
MERGE (p:Customer {ID: ID}) SET p.national_id = national_id, p.passport_no = passport_no, p.status = status, p.activation_date = activation_date
这工作很慢。
后来我试过了。
CALL apoc.periodic.iterate('CALL apoc.load.csv(\'file:/data.csv\') yield list as r return r','WITH toInteger(r[0]) AS ID, toInteger(r[1]) AS national_id, toInteger(r[2]) as passport_no, toInteger(r[3]) as status, toInteger(r[4]) as activation_date MERGE (p:Customer {ID: ID}) SET p.national_id = national_id, p.passport_no = passport_no, p.status = status, p.activation_date = activation_date',
{batchSize:10000, iterateList:true, parallel:true});
因为parallel 选项是true,所以这个似乎工作得更快。 但是我想测量一批的执行时间。
如何在 neo4j 浏览器上打印内容?
我如何测量一批的执行时间?
【问题讨论】:
标签: neo4j cypher graph-databases