SparkML
Spark Scheduler
터칭 데이터
2024. 2. 5. 13:40
Spark 고급과 Spark ML
Shuffling시 Skew 처리방식과 Spark ML에 대해 배워보자
Contents
1. Spark 기타 기능과 메모리 관리
2. Spark Shuffling 최적화
3. Spark Partition 학습
4. Spark ML 소개와 ML 모델 빌딩
5. ML Pipeline과 Tuning 소개와 실습
기타 기능/개념 살펴보기
자주 필요하지는 않지만 알아두면 좋은 기능들을 살펴보자
Spark Scheduler란?
하나의 Spark Application내의 잡들에 리소스를 나눠주는 정책
● Spark Application들간에 리소스를 나눠주는 방식은 리소스 매니저에게 달려있음
다음 2 가지가 존재
● “FIFO” (기본)
▪ 리소스를 처음 요청한 Job에게 리소스 우선 순위가 감
● “FAIR”
▪ 라운드로빈 방식으로 모든 잡에게 고르게 리소스를 분배하는 방식
▪ 이 안에서 풀(Pool)이란 형태로 리소스를 나눠서 우선순위 고려한 형태로 사용 가능
• 풀안에서 리소스 분배도 FAIR 혹은 FIFO로 지정 가능
Scheduler를 활용한 병렬성 증대
병렬성 증대 -> Thread 활용이 필요
● 이는 FAIR 모드의 스케줄러일 경우 더 효과적
관련 환경 변수
● spark.scheduler.mode: FIFO (기본) 혹은 FAIR
● spark.scheduler.allocation.file: “FAIR”은 경우 필요하며 풀을 정의해놓는 형태로 사용됨
스케줄러 데모 (스레드 사용)