일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 가상환경
- 네임스페이스
- 연결 리스트
- 웹페이지
- 챗지피티
- 웹
- URL 별칭
- 웹사이트
- Django
- 템플릿
- Seabron
- 장고
- seaborn
- 이분탐색
- ChatGPT
- 재귀
- 네트워크
- 워드클라우드
- 자료구조
- 데이터 시각화
- CSRF
- Templates
- HTTP
- 서버
- AI
- 스택
- 인터넷
- 일기
- 글쓰기
- 클라이언트
- Today
- Total
터칭 데이터
Resource Dynamic Allocation 본문
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의 리소스 할당 (스케줄링)
Spark Application들간의 리소스 할당
● 기반이 되는 리소스 매니저가 결정
▪ YARN은 세 가지 방식 지원: FIFO, FAIR, CAPACITY
● 한번 리소스를 할당받으면 해당 리소스를 끝까지 들고 가는 것이 기본
하나의 Spark Application안에서 잡들간의 리소스 할당
● FIFO 형태로 처음 잡이 필요한대로 리소스를 받아서 쓰는 것이 기본
Spark Application의 리소스 요구/릴리스 방식
Static Allocation (기본 동작)
● Spark Application은 리소스 매니저로부터 (YARN) 받은 리소스를 보통 끝까지 들고감
● 이는 리소스 사용률에 악영향을 줄 가능성이 높음
Dynamic Allocation
● Spark Application이 상황에 따라 executor를 릴리스하기도 하고 요구하기도 함
● 다수의 Spark Application들이 하나의 리소스 매니저를 공유한다면 활성화하는 것이 좋음
spark-submit —num-executors 100 —executor-cores 4 —executor-memory 32G
Static Allocation vs. Dynamic Allocation
spark-submit —num-executors 100 —executor-cores 4 —executor-memory 32G
Dynamic Resource Allocation
Dynamic Resource Allocation은 아래 환경변수들로 제어
spark.dynamicAllocation.enabled = true
spark.dynamicAllocation.shuffleTracking.enabled = true
spark.dynamicAllocation.executorIdleTimeout = 60s (릴리스 타이밍 결정)
spark.dynamicAllocation.schedulerBacklogTimeout = 1s (요청 타이밍 결정)
spark.dynamicAllocation.minExecutors
spark.dynamicAllocation.maxExecutors
spark.dynamicAllocation.initialExecutors
spark.dynamicAllocation.executorAllocationRatio
https://spark.apache.org/docs/latest/configuration.html#dynamic-allocation
'SparkML' 카테고리의 다른 글
Driver Executor Memory (0) | 2024.02.05 |
---|---|
Spark Scheduler (0) | 2024.02.05 |
Speculative Execution (0) | 2024.02.05 |
Accumulators (0) | 2024.02.05 |
기타기능 Intro와 Broadcast Variable (0) | 2024.02.05 |