В настоящее время я пытаюсь импортировать файл CSV, который содержит около 2 миллионов строк. Каждая строка соответствует узлу. Я использую браузер neo4j. примечание: я также попробовал инструмент импорта neo4j , но он также как-то работает медленнее.
Я попытался запустить скрипт со стандартным запросом шифра, например
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?
Как можно измерить время выполнения для одна партия ?