Spark Cluster Architecture
작동구조
Spark Driver
- Spark Application을 제출 시 가장 먼저 제출되는 위치
- spark application의 실행을 조정하는 프로그램/프로세스
- 기본기능을 실행하고 cluster manager에 연결되는 SparkContext/SparkSession을 생성
- SparkContext/SparkSession
- Spark의 기능(Function)을 사용할 수 있는 진입점
- Spark 환경구성에 해당하는 SparkConf를 포함하고 있다.
- Spark 2 이상부터는 SQLContext, HiveContext, StreamingContext가 모두 결합된 SparkSession 사용을 권장
Cluster Manager
- Worker Node에 리소스 및 task 할당
- Spark Applicaion이 실행되는 클러스터 관리
- 지원 : Hadoop Yarn, Kubernetes, Standalone
Spark Executors
- Spark Application에서 작업실행 담당
- Executors는 task를 동시처리하며 데이터 캐싱 및 중간저장을 위해 메모리나 디스크에 데이터를 저장
Task
- Spark에서 가장 작은 작업단위
- 단일 데이터 파티션에서 수행할 수 있는 계산단위 (1 Partiton data = 1 Task 할당)
- Driver가 spark job을 task로 나누고 Worker Node의 executor에 할당
참고 문서
'데이터 > Spark' 카테고리의 다른 글
Spark 병렬처리 성능 테스트 사례 (0) | 2024.07.14 |
---|---|
Spark Partition 최적화 (0) | 2024.06.23 |
RDD vs. Dataframe (In Python) (1) | 2024.06.16 |
댓글