Training
Contact
News
About Us
Member




Cloudera > Developer

DENG-256: Optimizing Apache Spark Applications

이 과정은 Apache Spark 애플리케이션의 성능을 최적화하기 위해 개발자가 알아야 할 핵심 개념과 전문 지식을 제공합니다. 참가자는 Spark 애플리케이션에서 성능 저하의 일반적인 원인을 식별하고, 이를 방지하거나 해결하는 기술 및 모니터링을 위한 모범 사례를 학습하게 됩니다.

본 과정은 Apache Spark 및 기반 데이터 플랫폼의 아키텍처와 개념을 소개한 후, Spark 애플리케이션 코드를 튜닝하는 방법을 중심으로 구성됩니다. 강사 주도의 시연을 통해 성능 문제와 해결 기술을 보여주고, 이어지는 실습을 통해 참가자가 인터랙티브 노트북 환경에서 직접 학습 내용을 적용해 볼 수 있도록 합니다.

2,281,000 원 (VAT별도)

수강대상

Spark 애플리케이션 개발 경험이 있으며, 코드 성능을 향상시키고자 하는 소프트웨어 개발자, 엔지니어, 데이터 과학자

선수지식

Python 프로그래밍 능력 필수 Linux 명령어 기본 사용 능력 SQL에 대한 기초 지식이 있으면 도움이 됨

교육목표

이 과정을 성공적으로 이수한 참가자는 다음을 수행할 수 있습니다:

Apache Spark의 아키텍처, 작업 실행 방식, 지연 실행(lazy execution) 및 파이프라이닝(pipelining) 등의 성능 향상 기술 이해
RDD 및 DataFrame과 같은 핵심 데이터 구조의 성능 특성 평가
애플리케이션에 가장 적합한 파일 형식 선택
데이터 스큐(skew)로 인한 성능 문제 식별 및 해결
파티셔닝, 버킷팅, 조인 최적화를 활용한 SparkSQL 성능 향상
Python 기반 RDD, DataFrame, 사용자 정의 함수(UDF)의 성능 오버헤드 이해
캐싱을 활용한 애플리케이션 성능 향상
Catalyst 및 Tungsten 옵티마이저의 작동 방식 이해
Observability를 활용한 Spark 애플리케이션 성능 모니터링 및 문제 해결
Adaptive Query Execution 엔진을 통한 성능 향상 방법 학습

강의내용

Spark 아키텍처
- RDDs
- DataFrames 및 Datasets
- 지연 실행 (Lazy Evaluation)
- 파이프라이닝 (Pipelining)
- 데이터 소스 및 포맷

사용 가능한 포맷 개요
- 성능에 미치는 영향
- 작은 파일 문제
- 스키마 추론

추론의 비용
- 완화 전략
- 데이터 스큐 처리

스큐 인식
- 완화 전략
- Catalyst 및 Tungsten 개요

Catalyst 개요
- Tungsten 개요
- Spark 셔플 완화

디노멀라이제이션
- 브로드캐스트 조인
- 맵 사이드 연산
- 소트 머지 조인
- 파티셔닝 및 버킷 테이블

파티셔닝된 테이블
- 버킷 테이블
- 성능에 미치는 영향
- 조인 성능 향상

스큐 조인
- 버킷 조인
- 증분 조인
- PySpark 오버헤드 및 UDF

PySpark 오버헤드
- 스칼라 UDF
- Apache Arrow 기반 벡터 UDF
- Scala UDF
- 데이터 재사용을 위한 캐싱

캐싱 옵션
- 성능에 미치는 영향
- 캐싱 시 주의사항
- Spark 3 기능

셔플 파티션 수 자동 조정
- 스큐 조인
- 소트 머지 조인을 브로드캐스트 조인으로 변환
- 동적 파티션 프루닝
- 동적 셔플 파티션 병합

부록
- 파티션 처리
- 브로드캐스팅
- 스케줄링