20

메모리와 파티션: OOM 방지 전략

Spark 성능 튜닝: Shuffle과 Skew 정복

학습 목표

Spark 메모리 구조를 이해한다 OOM 원인과 해결책을 파악한다 적절한 파티션 수를 결정할 수 있다

OOM (Out of Memory): 가장 흔한 장애

에디터 로딩 중...

왜 발생하는가?

  1. 데이터가 메모리보다 큼
  2. Shuffle 버퍼 부족
  3. Broadcast 테이블이 너무 큼
  4. 메모리 설정 잘못

Spark 메모리 구조

에디터 로딩 중...
에디터 로딩 중...

OOM 해결 전략

원인 1: 파티션이 너무 큼

에디터 로딩 중...

원인 2: Broadcast 테이블이 너무 큼

에디터 로딩 중...

원인 3: collect() 남용

에디터 로딩 중...

원인 4: 메모리 부족

에디터 로딩 중...

파티션 수 결정

규칙: 파티션 하나당 100~200MB

에디터 로딩 중...

Shuffle 파티션 (기본 200)

에디터 로딩 중...

실무 설정 가이드

소규모 (수 GB)

에디터 로딩 중...

중규모 (수십 GB)

에디터 로딩 중...

대규모 (수백 GB+)

에디터 로딩 중...

튜닝 체크리스트

에디터 로딩 중...