내가 가져 오기위한 MongoDB에 의해 허용되는 (이 JSON 형식으로 25 개 이상의 milion 행이 15기가바이트 파일을이 매우 느립니다 동안 :mongoimport의 속도는 -jsonArray을 사용하여
[
{"_id": 1, "value": "\u041c\..."}
{"_id": 2, "value": "\u041d\..."}
...
]
언제 나를 위해 정말 느린 내가 초당 50 행의 속도를 얻을 다음 명령을 사용하여 MongoDB에서 그것을 가져 노력하고있어.
mongoimport --db wordbase --collection sentences --type json --file C:\Users\Aleksandar\PycharmProjects\NLPSeminarska\my_file.json -jsonArray
내가 pymongo와 파이썬을 사용하여 컬렉션에 데이터를 삽입하려고 할 때 속도가 더 나 빠졌고 프로세스의 우선 순위를 높이려고했지만 d idn't 어떤 차이.
내가 시도한 다음 것은 동일한 일이지만 -jsonArray
을 사용하지 않고 큰 속도 증가 (~ 4000/초)가 있지만 제공된 JSON의 BSON 표현이 너무 큼습니다.
또한 파일을 5 개의 개별 파일로 분할하고 별도의 콘솔에서 같은 컬렉션으로 가져 오려고했지만 약 20 개의 문서/초까지 속도가 모두 저하되었습니다.
웹 전체를 검색하는 동안 사람들은 초당 8K 문서 속도를 보았고 무엇이 잘못되었는지를 볼 수 없었습니다.
속도를 높이는 방법이 있습니까? 아니면 bson으로 전체 json 파일을 변환하고 그런 식으로 가져와야합니까? 그렇다면 변환 및 가져 오기를 모두 수행하는 올바른 방법은 무엇입니까?
큰 감사.
'--jsonArray'만으로 유효한 옵션이므로 구문이 잘못되었다는 것을 알고 있습니다. 다음은 BSON Limit가 있기 때문에 이런 방식으로 한 번에 "slurped"될 수있는 데이터에 16MB 제한이 부과된다는 것입니다. 결론은 입력 파일에서'[]'대괄호 문자를 제거한 다음, 줄 바꿈 문서 중괄호'{}'다음에 줄 바꿈'\ n' 문자로 모든 줄을 끝내는 것입니다. 궁극적으로 파일을 한 번 쪼개십시오. 이 방법으로 처리하고 여러 프로세스를 병렬로 실행합니다. 15GB 파일입니다. 너는 무엇을 기대 했는가? 밀리 초 응답? –
또한 주제에서 많이 벗어났습니다. 스택 오버플로는 프로그래밍 항목에만 사용됩니다. 이 방법은 [dba.stackexchange.com] (http://dba.stackexchange.com)과 첫 번째 게시 위치에 더 적합합니다. –
@NeilLunn, [] 대괄호를 제거하고 --jsonArray를 사용하지 말고 응답을 보내 주셔서 대단히 감사합니다. 가져 오기가 초당 약 8500 개의 문서로 이루어졌습니다. 그리고 정확한 사이트에 나를 가리켜 주셔서 감사합니다. 좋은 하루 되세요. – Aleksandar