Apache Spark를 다루는 데이터 엔지니어나 아키텍트라면 한 번쯤 "도대체 내 코드가 클러스터 내부에서 어떻게 쪼개져서 실행되는 걸까?" 라는 질문을 던져보았을 것입니다. 특히 성능 튜닝(Performance Tuning)과 트러블슈팅은 Spark의 실행 계획(Execution Plan)과 물리적 아키텍처(Physical Architecture)를 이해하는 것에서 시작됩니다. 오늘은 Spark 애플리케이션이 제출(submit)되고 결과가 나오기까지의 내부 프로세스를 해부해 보겠습니다. 1. The Big Picture: 주요 컴포넌트 (The Actors)프로세스를 이해하기 전에 무대 위의 배우들을 먼저 알아야 합니다.Driver (The Brain):main() 함수를 실행하는 프로세스입니다.Sp..