2015-12-03 68 views
0

我试图使用批量导入模块将数据导入Neo4j 2.2.5,但速度很慢。我究竟做错了什么?加速Neo4j批量导入

我有3个独立的CSV文件是从SQL数据库转储。最大的有2M +行。这里是我的导入脚本:

//Load the messages 
create index on :Mail(id); 
import-cypher -d"\t" -i file:c:/messagesheaders.csv -b 10000 -q with distinct {mid} as mid merge (e:Mail {id: {mid}, date: {date}, message_id: {message_id}}); 

//Load recipients 
create index on :Person(Email); 
import-cypher -d"\t" -i file:c:/recipientsheaders.csv -b 10000 -q create (e:Person {Email: {rvalue}}); 

//Load senders 
create index on :Person(Email); 
import-cypher -d"\t" -i file:c:/messagesheaders.csv -b 10000 -q with distinct {sender} as sender merge (e:Person {Email: {sender}}); 

//Relationships between senders and mails 
import-cypher -d"\t" -i file:c:/messagesheaders.csv -b 10000 -q match (e:Person {Email: {sender}}), (c:Mail {id: {mid}}) create (e)-[:HAS_SENT]->(c); 

//Relationships between recipients and mails 
import-cypher -d"\t" -i file:c:/recipientsheaders.csv -b 10000 -q match (e:Person {Email: {rvalue}}), (d:Mail {id: {mid}}) create (e)-[:HAS_RECEIVED {rtype: {rtype}}]->(d); 

我可以导入节点不错,但1小时后的Neo4j还停留在第一组的关系。我怎样才能加快速度?

回答