[MONGODB] MongoDB를가 : 큰 파일을 가져올 때 mongoimport는 연결이 끊어
MONGODBMongoDB를가 : 큰 파일을 가져올 때 mongoimport는 연결이 끊어
나는 몇 가지 문제 로컬 MongoDB의 인스턴스에 JSON 파일을 가져올 수 있습니다. 같은 JSON 데이터가 mongoexport과 외모를 사용하여 생성되었습니다. 어떤 배열도없고, 하드 코어 중첩 :
{"_created":{"$date":"2015-10-20T12:46:25.000Z"},"_etag":"7fab35685eea8d8097656092961d3a9cfe46ffbc","_id":{"$oid":"562637a14e0c9836e0821a5e"},"_updated":{"$date":"2015-10-20T12:46:25.000Z"},"body":"base64 encoded string","sender":"mail@mail.com","type":"answer"}
{"_created":{"$date":"2015-10-20T12:46:25.000Z"},"_etag":"7fab35685eea8d8097656092961d3a9cfe46ffbc","_id":{"$oid":"562637a14e0c9836e0821a5e"},"_updated":{"$date":"2015-10-20T12:46:25.000Z"},"body":"base64 encoded string","sender":"mail@mail.com","type":"answer"}
내가 ~ 300 행이 9메가바이트 파일을 가져 오는 경우 아무 문제가 없다 :
[stekhn latest]$ mongoimport -d mietscraping -c mails mails-small.json
2015-11-02T10:03:11.353+0100 connected to: localhost
2015-11-02T10:03:11.372+0100 imported 240 documents
시도는 ~와 함께 1300 개 행을 32MB의 파일을 가져올 경우에, 가져 오기가 실패합니다 :
[stekhn latest]$ mongoimport -d mietscraping -c mails mails.json
2015-11-02T10:05:25.228+0100 connected to: localhost
2015-11-02T10:05:25.735+0100 error inserting documents: lost connection to server
2015-11-02T10:05:25.735+0100 Failed: lost connection to server
2015-11-02T10:05:25.735+0100 imported 0 documents
여기에 로그는 다음과 같습니다
2015-11-02T11:53:04.146+0100 I NETWORK [initandlisten] connection accepted from 127.0.0.1:45237 #21 (6 connections now open)
2015-11-02T11:53:04.532+0100 I - [conn21] Assertion: 10334:BSONObj size: 23592351 (0x167FD9F) is invalid. Size must be between 0 and 16793600(16MB) First element: insert: "mails"
2015-11-02T11:53:04.536+0100 I NETWORK [conn21] AssertionException handling request, closing client connection: 10334 BSONObj size: 23592351 (0x167FD9F) is invalid. Size must be between 0 and 16793600(16MB) First element: insert: "mails"
내가 전에 BSON 문서에 대한 16 메가 바이트 제한에 대해 들었지만, 내 JSON 파일에는 행 16메가바이트보다 더 큰 없기 때문에, 이것은 바로 문제가되지 않습니다? 나는 동일한 (32메가바이트) 수입 한 내 로컬 컴퓨터를 할 때, 모든 것이 잘 작동합니다.
모든 아이디어를 어떻게이 이상한 동작이 발생할 수 있을까?
해결법
-
==============================
1.나는 문제가 성능에 대해 사용 해결했다 수있는 방법 것 같다 :
나는 문제가 성능에 대해 사용 해결했다 수있는 방법 것 같다 :
당신은 mongoimport 옵션 -j을 사용할 수 있습니다. 4. 즉, 4,8,16 작동하지 않을 경우 증분을 시도, 당신은 당신의 CPU에있는 코어의 수에 따라 달라집니다.
mongoimport --help
실행에 삽입 작업의 -j, --numInsertionWorkers = 수 동시에 (기본값은 1)
mongoimport -d -c mietscraping 우편물 J 4
또는 당신은 파일을 분할하고 모든 파일을 가져올 수 있습니다.
나는이 도움을 바랍니다.
조금 더 찾고, 어떤 버전의 버그입니다 https://jira.mongodb.org/browse/TOOLS-939 또 다른 솔루션은 기본이 10000를 들어, BATCHSIZE을 변경 가치와 테스트를 줄일 수 있습니다 : 여기
mongoimport -d mietscraping -c 메일
from https://stackoverflow.com/questions/33475505/mongodb-mongoimport-loses-connection-when-importing-big-files by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 몽구스 스키마의 배열 크기에 대한 제한을 설정하는 방법 (0) | 2019.12.22 |
---|---|
[MONGODB] 몽구스 - ObjectId가 배열에 채우기를 사용 (0) | 2019.12.22 |
[MONGODB] 중첩 된 필드에서 MongoDB를 업데이트 데이터 (0) | 2019.12.22 |
[MONGODB] 자바 스크립트의 ISO 날짜 객체를 생성 (0) | 2019.12.22 |
[MONGODB] 케이스 몽고에서 검색 문자를 구분 (0) | 2019.12.22 |