【发布时间】:2016-04-03 20:42:34
【问题描述】:
我正在尝试将数据从 MySQL 数据库导入 Neo4j,使用 CSV 文件作为中介。我正在关注basic example,但无法让它正常工作。我正在使用这些查询导入两个表:
//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 万行长,但现在不应该定期提交显示吗?
【问题讨论】: