15

왜 청크 처리가 필요한가?

Day 1: 1GB CSV 열었더니 컴퓨터가 멈췄다

학습 목표

chunksize 파라미터의 동작 원리를 이해한다 청크 처리의 장단점을 파악한다

청크(Chunk)란?

청크 = 데이터 조각

10GB 파일을 한 번에 읽으면 메모리가 터진다. 그래서 1000만 행씩 나눠서 읽는다.

에디터 로딩 중...

청크 처리의 원리

에디터 로딩 중...

핵심: 한 번에 1개 청크만 메모리에 올림


청크로 할 수 있는 것 vs 없는 것

쉬운 것 (청크별 독립 처리)

연산방법
합계청크별 합계 → 전체 합계
개수청크별 개수 → 전체 개수
평균(전체 합계) / (전체 개수)
최대/최소청크별 최대 → 전체 최대
필터링청크별 필터 → concat

어려운 것 (전체 데이터 필요)

연산어려운 이유
중앙값전체 정렬 필요
분위수전체 정렬 필요
상관관계전체 공분산 필요
랜덤 샘플링전체 크기 필요

💡 : 정확한 중앙값이 필요하면 reservoir sampling이나 t-digest 같은 근사 알고리즘 사용


chunksize 선택 가이드

에디터 로딩 중...
시스템 RAM권장 chunksize이유
8GB50,000 ~ 100,000여유 확보
16GB100,000 ~ 500,000일반적
32GB+500,000 ~ 1,000,000속도 우선

너무 작으면: 오버헤드 증가, 느림 너무 크면: 메모리 부족 위험