0
我试图将数据从MySQL数据库导入到Neo4j,使用CSV文件作为中介。我正在关注basic example,但无法完成它的工作。我正在用这些查询导入两个表格:将CSV关系导入到Neo4j
//Import projects.
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:/tmp/projects.csv" AS row
CREATE (:project
{
project_id: row.fan,
project_name: row.project_name
});
//Import people.
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:/tmp/persons.csv" AS row
CREATE (:person
{
person_id: row.person_id,
person_name: row.person_name,
});
//Create indicies.
CREATE INDEX ON :project(project_id);
CREATE INDEX ON :project(project_name);
CREATE INDEX ON :person(person_id);
CREATE INDEX ON :person(person_name);
此部件适用。当我尝试导入关系时,不起作用的是:
//Create project-person relationships.
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:/tmp/project_persons.csv" AS row
MATCH (project:project {project_id: row.project_id})
MATCH (person:person {person_id: row.person_id})
MERGE (person)-[:CONTRIBUTED]->(project);
控制台接受没有错误的查询,但从未结束。它在100%CPU,25%RAM下运行数天,但磁盘使用率可以忽略不计。数据库信息中没有关系。
我在某个地方犯了错,还是真的这么慢? project_persons.csv
文件长度为1300万行,但不应该定期提交现在显示的内容吗?
它可以工作,但即使增加了限制,导入所有数据也很乏味。由于某种原因,我有剩余的200k关系,不会合并或删除。 – Rachie
同意单调乏味。你在做什么来删除不需要的关系? –
我不知道如何处理它们,或者即使它们是不需要的。 – Rachie