본문 바로가기
데이터/Spark

Spark Cluster 구조 및 작동원리

by Sunyoung95 2024. 6. 9.

Spark Cluster Architecture

작동구조

Spark Driver

SparkContext와 SparkSession의 차이점

  • 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

댓글