2015-02-05 3 views
1
내가 (정기 COMMIT를 사용하여) CSV 파일에서 ~ 2900 만 개 노드를로드 할 필요하지만로드 된 첫 번째 ~ 75 만 노드 후 "알 수없는 오류"를 얻고있다

에 "알 수없는 오류"를 디버깅 할 수 없습니다. 커밋 크기 (250, 500, 1000)를 변경하고 java 힙 (-Xmx4096m)을 늘리고 memory mapping을 사용했지만 아무것도로드하지 않는 노드 수를 제외하고 커밋 크기 500으로 " 알 수없는 오류 "75,499 노드와 커밋 크기 250 이후 75,749 노드 후에"알 수없는 오류 "가 표시됨). 진짜로 나쁜 부분은 그 nioneo_logical.log입니다는 Neo4j

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]}) 

:

내가 RAM 10GB의 및 Windows Server 여기에 2012 년과 원격 시스템에 Neoj4 2.1.7을 사용하여 브라우저에서하고 있어요 내 코드입니다 파일에는 텍스트 편집기가 알아 내지 못하는 이상한 인코딩이 있습니다.

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 관련하지만 난 찾고 있어요 정확히 무엇을 : 내가 볼 모두가 messages 파일, 차례로,이 같은 쓰레기 수거 경고 수백로 끝나는 등 eÿÿÿÿ414141, ÿÿÿÿÿÿÿÿ이다 에 대한.

무엇이 누락 되었습니까?

+0

당신은 스키마를 추가하시기 바랍니다 수 있으며, 사용하는 쿼리는 CSV –

+0

아무 스키마가 없습니다로드 : 데이터베이스가 비어 시작 나는이로드 노력하고있어 노드가 모두 지금 거기입니다. 위의 질문에서 CSV를로드하는 데 사용하는 코드가 있습니다 ("USING PERIODIC COMMIT ..."로 시작하는 코드 블록). – Parzival

+0

쉘에서 사용해 보셨습니까? –

답변

1

브라우저도 있기 때문에 HTTP 시간 초과, 이러한 가져 오기를 실행하는 최악의 선택입니다.

충분한 RAM과 빠른 디스크가 도움이됩니다.

봅니다 실행중인 서버에 연결 bin/Neo4jShell.bat를 사용합니다. CSV 파일을 로컬에서 사용할 수 있는지 확인하는 것이 가장 좋습니다.

그 nioneo. * 로그 파일 (앞서 트랜잭션에 대한 로그 쓰기) 논리 로그입니다

로그는 당신이 찾고있는 파일입니다 데이터 /. */로그 로그 및 데이터/graph.db/messages.log

please 브라우저 보안기를 열고 네트워크/요청 탭으로 이동하여 쿼리를 다시 실행하면 원시 HTTP 응답을 얻을 수 있습니다. 앞으로 JS 콘솔에 직접 덤프하려고 시도 할 것입니다.

+0

좋아, 나는 쉘을보고 다시보고 할게. – Parzival

+0

셸 인터페이스와 내 MacBook으로 전환했습니다 (RAM이 16GB - 디스크가 SSD이고 Linux/OSX의 경우 Neo4j가 더 잘 문서화 된 것 같습니다). 아직도 기쁨이 없습니다. 나는 어떤 오류 메시지도받지 못한다. 그러나 얼마 지나지 않아 Neo4j는 막혔다. 어제 5시 (데이터베이스 폴더가 4.85GB를 달성했을 때)부터 아무 것도 디스크에 기록되지 않았다. 그 시간이 지나면'messages.log' 파일에있는 모든 것이'[org.neo4j] : GC 모니터 : {200-700} ms. 메시지에 대해 응용 프로그램 스레드가 차단되었습니다. – Parzival

+0

이번에는 응용 프로그램에서 동적으로 힙을 설정하게하고 메모리 매핑 설정을 조정하지 않았지만 여전히 주기적 커밋을 사용하고 있으므로 어떤 문제도 발생해서는 안됩니다. 나는 몇 일 동안 인터넷 검색을 계속하고, 희망을 갖고 어느 시점에서 알아낼 것이다. – Parzival