executor 설정 시 서버 Node 수 및 core수에 맞춰 설정해야한다.
예를 들어 서버는 총 3대, 서버 당 core는 64, 서버 당 memory 128G 일 때
executor 의 core, 개수, 메모리 값을 설정해 보자.
executor core의 수 -> 0~5 사이의 값이 적정.
executor의 수 -> (Spark Executor 수) X (Spark Core 수) < (서버 Node 개수) X (서버 Core 개수)
4 X Spark Executor 수 < 3 X 64 (192)
Spark Executor 수 = 48 미만으로 설정.
OR
((서버당 코어 수 / executor core 수) - 1) X 서버의 node수
((64/4) - 1) X 3 = 15 X 3 = 45
executor의 memory -> (서버 1개의 메모리 / 서버 1개의 할당하려는 Executor 수) -2
(120/15) - 2 = 6GB
서버 3대 core 64 / mem 1024G 기준
executor core - 5
executor 수 - 24 ( 5 X 24 < 192 )
executor mem - 다른 프로세스 제외 900G 기준 (900/8) - 2 = 110G
https://wooono.tistory.com/120
https://jaemunbro.medium.com/spark-executor-%EA%B0%9C%EC%88%98-%EC%A0%95%ED%95%98%EA%B8%B0-b9f0e0cc1fd8