20분
메모리와 파티션: OOM 방지 전략
Spark 성능 튜닝: Shuffle과 Skew 정복
메모리와 파티션: OOM 방지 전략
Spark 심화: Streaming & Delta Lake > Spark 성능 튜닝: Shuffle과 Skew 정복
학습 목표
Spark 메모리 구조를 이해한다 OOM 원인과 해결책을 파악한다 적절한 파티션 수를 결정할 수 있다
OOM (Out of Memory): 가장 흔한 장애
에디터 로딩 중...
왜 발생하는가?
- 데이터가 메모리보다 큼
- Shuffle 버퍼 부족
- Broadcast 테이블이 너무 큼
- 메모리 설정 잘못
Spark 메모리 구조
에디터 로딩 중...
에디터 로딩 중...
OOM 해결 전략
원인 1: 파티션이 너무 큼
에디터 로딩 중...
원인 2: Broadcast 테이블이 너무 큼
에디터 로딩 중...
원인 3: collect() 남용
에디터 로딩 중...
원인 4: 메모리 부족
에디터 로딩 중...
파티션 수 결정
규칙: 파티션 하나당 100~200MB
에디터 로딩 중...
Shuffle 파티션 (기본 200)
에디터 로딩 중...
실무 설정 가이드
소규모 (수 GB)
에디터 로딩 중...
중규모 (수십 GB)
에디터 로딩 중...
대규모 (수백 GB+)
에디터 로딩 중...
튜닝 체크리스트
에디터 로딩 중...