kgneng2 / blokg

blog
MIT License
0 stars 0 forks source link

빅데이터 분석을 위한 스파크2 프로그래밍 책 정리. #66

Open kgneng2 opened 2 years ago

kgneng2 commented 2 years ago

Run spark in Yarn

client : client가 driver가 됨.

cluster

동작 overview

executor

Partition

스케줄링

kgneng2 commented 2 years ago

QueryExecution

LocalPlan ,SparkPlan

kgneng2 commented 2 years ago

spark 동작과정

  1. 전체작업을 stage로 나눔
  2. 각 스테이지는 다시 task로 나눔
  3. 드라이버는 sparkSession, SparkContext를 만들고 이를 이용해 잡을 실행하고 종료한다. 클러스터 매니저와 연동되어 각 클러스터 서버에 작업을 처리하기 위한 프로세스를 생성한다.
  4. transformation 과 action으로 구분되는데 action을 진행했을때 하나의 Job으로 인식한다.
  5. Stage 여부는 데이터 셔플 여부로 나눠진다. 즉 각 서버에 있는 데이터를 네트워크를 통해 다른 서버로 재배치해야하는지 여부이다. 셔플이 발생하면 네트워크 부하가 발생할수 있어 성능에 안좋은 영향을 주는데, 같은 스테이지에서 처리하는게 최소화 할수 있음.
  6. Executor는 task를 할당 받아서 처리하고, 또 재사용할수 있도록 메모리에 저장하는 두가지 역할을 진행함.

Job -> Stage -> task Job안에 여러개 stage가 있을수 있음. executor는 여러개 task를 실행시킬수 있음.

image
kgneng2 commented 2 years ago

Yarn

Spark on Yarn

kgneng2 commented 2 years ago

KakaoTalk_Photo_2022-04-15-03-02-25