我需要从CSV文件加载~2900万个节点(使用USING PERIODIC COMMIT)但是在加载了第一个~75k节点后我得到“未知错误”。我已经尝试更改提交大小(250,500和1000),增加java堆(-Xmx4096m),并使用memory mapping,但没有任何更改(除了加载的节点数 - 提交大小500我在75,499个节点之后得到“未知错误”,并且提交大小为250,我在75,749个节点之后得到“未知错误”。
我是在浏览器中使用Neoj4 2.1.7在具有10GB RAM和Windows Server 2012的远程计算机上进行的。这是我的代码:
USING PERIODIC COMMIT 1000
LOAD CSV FROM "file:/C:/Users/thiago.marzagao/Desktop/CSVs/cnpj.csv" AS node
CREATE (:PessoaJuridica {id: node[0], razaoSocial: node[1], nomeFantasia: node[2], CNAE: node[3], porte: node[4], dataAbertura: node[5], situacao: node[6], dataSituacao: node[7], endereco: node[8], CEP: node[9], municipio: node[10], UF: node[11], tel: node[12], email: node[13]})
真正糟糕的部分是nioneo_logical.log
文件有一些奇怪的编码,没有文本编辑器无法弄清楚。我看到的只有eÿÿÿÿ414141
,ÿÿÿÿÿÿÿÿ
等。messages
文件反过来以数百个垃圾收集警告结束,如下所示:
2015-02-05 17:16:54.596+0000 WARN [o.n.k.EmbeddedGraphDatabase]: GC Monitor: Application threads blocked for 304ms.
2015-02-05 17:16:55.033+0000 WARN [o.n.k.EmbeddedGraphDatabase]: GC Monitor: Application threads blocked for 238ms.
2015-02-05 17:16:55.471+0000 WARN [o.n.k.EmbeddedGraphDatabase]: GC Monitor: Application threads blocked for 231ms.
我发现有点相关questions但不完全正是我正在寻找的。 p>
我错过了什么?
答案 0 :(得分:1)
浏览器是运行此类导入的最差选择,也是因为http超时。
足够的RAM有助于快速磁盘。
尝试使用连接到正在运行的服务器的bin/Neo4jShell.bat
。最好确保CSV文件在本地可用。
那些nioneo。*日志文件是逻辑日志(事务的预写日志)
您要查找的日志文件是data / log / * .log和data / graph.db / messages.log
您可以请做的其他事情是打开Browser-Inspector,转到Network / Requests选项卡并重新运行查询,以便您可以获得原始HTTP响应,我们刚刚讨论过,并将在未来尝试将其直接转储到JS控制台。