🏆40분
도전: 느린 쿼리 튜닝
Day 3: 같은 코드가 10배 빨라지는 비밀
도전: 느린 쿼리 튜닝
Apache Spark: 대용량 데이터 처리의 시작 > Day 3: 같은 코드가 10배 빨라지는 비밀
학습 목표
복잡한 쿼리의 실행 계획을 분석할 수 있다 병목을 찾아 개선할 수 있다
요구사항
explain()으로 원본 쿼리 분석
Python UDF 제거
broadcast join 적용
필터 순서 최적화
개선 전후 실행 계획 비교
평가 기준
- • 문제점 분석 정확성 (20%)
- • UDF 제거 (20%)
- • Join 최적화 (20%)
- • 기타 최적화 (20%)
- • 개선 이유 설명 (20%)
미션: 프로덕션 쿼리 튜닝
아래 "느린 쿼리"를 분석하고 최적화하세요.
원본 쿼리 (느림)
에디터 로딩 중...
요구사항
- explain()으로 문제점 분석
- 최소 3가지 이상 개선
- 개선 전후 실행 계획 비교
- 개선 이유 설명
힌트 보기
col("quantity") * col("price")로 UDF 대체
products, categories는 작으니 broadcast
filter를 join 전에 배치
shuffle.partitions를 4~8로 조정
select("*") 대신 필요한 컬럼만