Cloudera
교육개요
3일간의 실습 교육 과정에서는 개발자가 Apache Spark 애플리케이션의 성능을 개선하는 데 필요한 주요 개념과 전문 지식을 제공합니다. 이 과정에서 참가자는 Spark 애플리케이션에서 성능 저하의 일반적인 원인을 식별하는 방법, 이를 방지하거나 해결하기 위한 기술, Spark 애플리케이션 모니터링을 위한 모범 사례를 배우게 됩니다.
Apache Spark 애플리케이션 성능 튜닝은 Apache Spark 및 기본 데이터 플랫폼의 아키텍처와 개념을 제시한 다음, 학생들에게 Spark 애플리케이션 코드를 튜닝하는 방법을 가르쳐 이러한 기본적인 이해를 기반으로 합니다.
과정 형식은 강사 주도 데모를 강조하며 성능 문제와 이를 해결하는 기술을 모두 설명한 다음 학생들이 대화형 노트북 환경을 통해 학습한 내용을 연습할 수 있는 기회를 제공하는 실습을 제공합니다. 이 과정은 Spark 2.4에 적용되지만 Spark 3.0 적응 쿼리 실행 프레임워크도 소개합니다.
교육목표
- Apache Spark의 아키텍처, 작업 실행, 지연 실행 및 파이프라이닝과 같은 기술이 런타임 성능을 개선할 수 있는 방법을 이해
- RDD 및 DataFrames와 같은 핵심 데이터 구조의 성능 특성 평가
- 응용 프로그램에 가장 적합한 성능을 제공하는 파일 형식을 선택
- 데이터 기울이기로 인한 성능 문제 식별 및 해결
- 분할, 버킷팅 및 조인 최적화를 사용하여 SparkSQL 성능 향상
- Python 기반 RDD, DataFrame 및 사용자 정의 함수의 성능 오버헤드 이해
- 더 나은 응용 프로그램 성능을 위해 캐싱 활용
- Catalyst 및 텅스텐 옵티마이저의 작동 방식 이해
- Workload XM이 Spark 애플리케이션 성능을 문제 해결하고 사전에 모니터링하는 데 어떻게 도움이 되는지 이해
- Spark 3.0의 새로운 기능, 특히 적응 쿼리 실행 엔진이 성능을 향상시키는 방법에 대해 학
수강대상
Spark 애플리케이션 개발 경험 및 코드 성능을 개선하는 방법을 배우고자 하는 소프트웨어 개발자, 엔지니어 및 데이터 과학자
선수과목
- Python 언어로 프로그래밍 경험자
- Linux 명령줄에 대한 기본적인 지식 보유자
- SQL에 대한 기본 지식 보유자
강의내용
스파크 아키텍처
- RDD
- 데이터프레임 및 데이터세트
- Lazy Evaluation
- 파이프라이닝
데이터 소스 및 형식
- 사용 가능한 형식 개요
- 성능에 미치는 영향
- 작은 파일 문제
스키마 추론
- 추론 비용
- 완화 전술
왜곡된 데이터 처리
- 편향 인식
- 완화 전술
촉매 및 텅스텐 개요
- 촉매 개요
- 텅스텐 개요
Spark Shuffle 완화
- 비정규화
- 브로드캐스트 조인
- 지도 측 작업
- 병합 조인 정렬
파티션을 나눈 테이블과 버킷 테이블
- 분할된 테이블
- 버킷 테이블
- 성능에 미치는 영향
조인 성능 향상
- 편향된 조인
- 버킷 조인
- 증분 조인
Pyspark 오버헤드 및 UDF
- Pyspark 오버헤드
- 스칼라 UDF
- Apache Arrow를 사용한 벡터 UDF
- 스칼라 UDF
재사용을 위한 데이터 캐싱
- 캐싱 옵션
- 성능에 미치는 영향
- 캐싱의 함정
워크로드 XM(WXM) 소개
- WXM 개요
- Spark 개발자를 위한 WXM
스파크 3.0의 새로운 기능은 무엇입니까?
- 적응형 셔플 파티션 수
- 편향 조인
- 정렬 병합 조인을 브로드캐스트 조인으로 변환
- 동적 파티션 정리
- 동적 병합 셔플 파티션
부록 A: 파티션 처리
부록 B: 방송
부록 C: 일정 예약