스파크의 기본 아키텍처

스파크가 연산에 사용할 클러스터는 스파크 스탠드얼론 클러스터 매니저, 하둡 얀, 메소스 같은 클러스터 매니지 관리

사용자는 클러스테 매니저에 스파크 애플리케이션을 제출

제출받은 클러스터 매니저는 애플리케이션 실행에 필요한 자원을 할당하며 작업을 처리

스파크 애플리케이션

스파크 애플리케이션은 드라이버 프로세스와 다수의 익스큐터 프로세스로 구성

드라이버 프로세스에서 main() 함수를 실행하며 스파크 애플리케이션 유지 관리, 사용자 프로그램이나 입력에대한 응답, 전반적인 익스 큐터 프로세스의 작업과 관련된 분석, 배포 스케줄링 역할 수행

드라이버 프로세스는 스파크 애플리케이션의 심장과 같다

익스큐터는 드라이버 프로세스가 할당한 작업을 수행한다

스파크 애플리케이션 핵심사항

스파크의 다양한 언어 API

구조적 API 만으로 작성된 코드는 언어에 상관없이 유사한 성능을 발휘한다

사용자는 스파크 코드를 실행하기 위해 SparkSession 객체를 진입점으로 사용할 수 있으며 파이썬이나 R 로 스파크를 사용할때 JVM 코드를 명시적으로 작성하지 않는다

스파크 API