아파치 스파크(Apache Spark) & PySpark 대용량 분산 데이터 처리
강좌 소개
빅데이터 분산 처리의 글로벌 표준 엔진인 아파치 스파크(Apache Spark)를 파이썬 인터페이스인 PySpark로 마스터하는 엔지니어링 코스입니다.
RDD의 지연 평가(Lazy Evaluation)와 불변성 원리부터 최신 DataFrame API, Catalyst 옵티마이저, 텅스텐 엔진의 동작 방식을 배웁니다. 대규모 셔플(Shuffle) 최적화, 파티셔닝 전략, 캐싱 기법을 통해 테라바이트 규모의 데이터를 안정적으로 변환하고 분석합니다.
이 강좌에서 배우는 것들
- Spark의 분산 클러스터(Driver, Executor) 아키텍처 완전 정복
- PySpark DataFrame API를 활용한 대규모 데이터 변환 및 SQL 질의
- 셔플링(Shuffling) 병목 현상 진단 및 파티션 최적화 기술 체득
- Spark Web UI를 분석하여 느린 쿼리를 튜닝하는 실무 역량
교육 과정 (Curriculum)
Section 1: 아파치 스파크 아키텍처와 RDD
- Hadoop MapReduce의 한계와 Spark 인메모리 엔진의 혁신
- 드라이버(Driver)와 익스큐터(Executor)의 클러스터 통신 구조
- RDD의 기본 개념: 계보(Lineage), 변환(Transformation), 행동(Action)
Section 2: PySpark DataFrame과 Catalyst 옵티마이저
- PySpark 세션 생성 및 대용량 Parquet 파일 읽기/쓰기
- Catalyst Optimizer의 논리적/물리적 실행 계획 수립 원리
- PySpark 내장 함수(F)와 윈도우 집계를 활용한 대규모 데이터 가공
Section 3: 성능 최적화와 Spark Web UI 프로파일링
- 데이터 왜곡(Data Skew)과 브로드캐스트 조인(Broadcast Join)
- repartition vs coalesce의 차이와 최적 파티션 수 산정
- Spark Web UI의 스테이지(Stage)와 태스크(Task) 분석을 통한 튜닝 실습
필수 조건
- 파이썬 중급 및 SQL 기본 지식
수강 대상
- 대용량 빅데이터 배치 처리를 안정적으로 수행하려는 데이터 엔지니어
- Pandas 메모리 초과(OOM) 에러를 극복하고 대규모 데이터를 다루려는 분석가
- 클라우드 빅데이터 플랫폼(EMR, Databricks)을 다루려는 개발자