IT/Python3
초대용량 처리 시, 이터레이터
클라우드 개발자 앙몬드
2021. 3. 22. 15:35
반응형
리얼타임. 실시간 성으로 데이터를 처리 시, 공간복잡도를 크게 고려하지 않아도 되었으나, 현재 초 대용량 (목표치는 약 5.2 천만건 Rows) 데이터를 파일로 내리고 파싱할 일이 생겼습니다.
기본적으로 파이썬에서는 이터레이터로 생성하고, 실제 그 값이 필요해지는 시점에서, 그 값을 만드는 방식을 사용하는데요.
이전 C언어의 포인터, 그리고 자바의 레퍼런스를 빌어 사용하자면, 반복해야하는 콜렉션에 대한 메모리 주소 및 리모콘만 만들어두고, 그 내용물에 해당하는 데이터 생성을 뒤로 미루는 것이죠. 이런 기법을 지연 평가(lazy evaluation)라고 전문적으로 부른다고 하네요 ㅇㅇ..
유사 사례로, 브라우저에서 웹 이미지, CSS 등 스태틱 컨텐츠들을 가져올 시, 레이지 로딩 (Lazy Load) 라는 기법 또한 존재합니다. 먼저, 이 스태틱 URI들을 브라우저가 받은 뒤, 그 스태틱 이미지들을 이후에 CDN에서 가져오는 것이죠 :)
(나머지 공사중)
반응형