-3
대용량 데이터를 처리 할 때 파이썬 사전이 얼마나 효율적인지 알고 싶습니다. 두 개의 12GB 파일이 있다고 가정 해 봅시다. 데이터의 90 %가 각 파일에서 고유 한 각 파일에 대해 두 개의 사전을 만들 수 있습니다. 다음으로 키를 기반으로 데이터를 비교할 때 이러한 사전이 필요합니다. 16GB 컴퓨터가 모든 메모리를 소비하고 스크립트 실행을 건너 뛰었습니다. 아니면 파이썬의 사전에 대한 대안이 있습니까? 다음은 샘플 코드입니다.큰 데이터를 처리하기위한 파이썬 사전
for line in fileinput.input(src_one,0,"",0,'r',False):
line = line.strip()
TmpArr=line.split('|')
key=TmpArr[2],TmpArr[3],TmpArr[11],TmpArr[12],TmpArr[13],TmpArr[14],TmpArr[15]
DictOne[key]=line
for line in fileinput.input(src_two,0,"",0,'r',False):
line = line.strip()
TmpArr=line.split('|')
key=TmpArr[2],TmpArr[3],TmpArr[11],TmpArr[12],TmpArr[13],TmpArr[14],TmpArr[15]
DictTwo[key]=line
감사합니다.
모든 기본 오타/문장 부호 오류를 없애기 위해 질문을 편집하십시오. – Unapiedra
달성하고자하는 것을 지정할 수 있다면 엄청난 도움이 될 것입니다. 분명히, 24GB의 데이터를 16Gb의 RAM에 넣을 수는 없습니다. 하지만 가장 가능성이 높습니다. 원하는 것을 지정하면 누군가가 도움을 줄 수 있습니다. – Unapiedra
@Unapiedra 의견을 주셔서 감사합니다, 기본적으로 6 열을 기반으로 두 개의 파일을 비교하고 일치하는 레코드, 다른 파일에 두 개의 파일에서 두 개의 파일에서 필적할만한 기록을 작성해야합니다. 분명히 내가 16 기가 바이트 RAM에 24 기가 바이트를 넣을 수 없지만, 메모리에 모든 것을 갖지 않고 비교할 수있는 방법이나 파이썬 모듈이 있는지 알고 싶습니다. 감사합니다. –