20

SQL 탭: 실행 계획 시각화

Spark UI: 병목 찾기와 디버깅

학습 목표

SQL 탭에서 쿼리 실행 계획을 읽을 수 있다 주요 연산자의 의미를 이해한다 비효율적인 실행 계획을 식별할 수 있다

SQL 탭: DataFrame 쿼리도 여기에!

DataFrame API도 내부적으로 SQL로 변환되어 SQL 탭에 표시된다.

에디터 로딩 중...

↓ SQL 탭에서 시각화

에디터 로딩 중...

주요 연산자 해석

연산자의미비용
FileScan파일 읽기I/O
Filter조건 필터링낮음
Project컬럼 선택낮음
ExchangeShuffle!높음
HashAggregate해시 기반 집계중간
SortMergeJoin정렬 후 병합 조인높음
BroadcastHashJoinBroadcast 조인낮음
Sort정렬높음

Exchange (Shuffle) 읽는 법

에디터 로딩 중...

주의할 패턴:

  • Exchange가 여러 번 연속 → Shuffle이 많음
  • Exchange 후 데이터 크기 확인 (rows, size)

Join 방식 확인

BroadcastHashJoin (좋음)

에디터 로딩 중...

SortMergeJoin (보통)

에디터 로딩 중...

SQL 탭 분석 체크리스트

에디터 로딩 중...

explain() 명령어

코드에서 직접 확인:

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