나는 mongodb로 시작합니다. 3400000 줄의 데이터가있는 텍스트 파일이 있고 해당 데이터를 mongodb 데이터베이스에 업로드하려고합니다.모든 텍스트 파일 내용을 mongodb에 업로드하십시오 (pymongo 사용)
360715;157.55.34.97;Mozilla/5.0;/pub/index.asp;NULL
3360714;157.55.32.233;Mozilla/5.0;/pub/index.asp;NULL
....
나는 다음과 같은 구조의 MongoDB를 데이터베이스에 넣어하려면 :
은 텍스트 파일은 다음과 같습니다
{'log' : '360715;157.55.34.97;Mozilla/5.0;/pub/index.asp;NULL'}
{'log' : '3360714;157.55.32.233;Mozilla/5.0;/pub/index.asp;NULL'}
....
이 사실 나는이 같은 라인으로 업로드 라인입니다 :
for data_line in records:
parsed_line = re.sub(r'[^a-zA-Z0-9,.\;():/]', '', data_line)
to_insert = unicode(parsed_line, "utf-8")
db.data_source.insert({'log':to_insert})
한 번에 모든 줄을 원하는 형식으로 업로드 할 수 있습니까? "줄 단위"방식은 훨씬 느려집니다.
이전에, 내가 텍스트 파일을 구문 분석하는 파이썬 스크립트를 코딩했고, 실제로, 100000 개 라인에 1 초 걸리고 나는 프로세스를 개선하되하여 MongoDB를 사용하는 것으로 간주 3400000.
65 초 정도 걸립니다 , mongodb를 사용하면 스크립트에 모든 데이터를 수행하도록 100000 라인을 데이터베이스에 업로드하는 것과 동일한 시간이 걸립니다. 그래서 mongodb에 뭔가 잘못되어 있다고 말하기는 어렵지 않습니다.
누군가가 나를 도울 수 있으면 고맙습니다.
Greetings, João
그리고 당신의 질문은? MongoDB에서 당신이 잘못하고있는 것은 무엇입니까? 내가하는 일을 보여주는 코드가 보이지 않습니다. 아마도 실제로 어떤 것을 추가하여 잘못된 점을 알려줄 수 있습니다. –