3

사실 내가 이런 일이 발생하는 기본 메커니즘을 알고 싶습니다. sbt run 스파크 애플리케이션이 시작됩니다!스파크 응용 프로그램이 sbt 실행을 사용하여 시작하는 방법.

이 기능과 독립 실행 형 모드에서 실행중인 스파크의 차이점은 무엇이며 스파크 제출을 사용하여 응용 프로그램을 배포하는 것과 차이가 있습니까?

항아리 제출 방법과 누가 작업을 작성하고 두 경우 모두 할당하는지 설명 할 수 있다면 좋을 것입니다. 이 부분을 도와 주시거나, 제가 의심을 덜어 줄 수있는 부분을 지적하십시오!

답변

0

먼저 this을 읽습니다.

용어, 역할 및 책임에 익숙해지면 아래 단락을 읽고 요약하십시오.

스파크 응용 프로그램을 실행하는 데는 여러 가지 방법이 있습니다 (스파크 응용 프로그램은 진입 점이있는 클래스 파일의 모음 일뿐입니다).

단일 자바 프로세스로 스파크 응용 프로그램을 실행할 수 있습니다 (일반적으로 개발 목적). 이것은 sbt run을 실행할 때 발생합니다. 이 모드에서는 드라이버, 작업자 등의 모든 서비스가 단일 JVM 내에서 실행됩니다.

위의 실행 방법은 확장 및 테스트 목적으로 만 사용됩니다. 즉, 엄청난 양의 데이터를 처리 할 수 ​​없습니다. 이것은 스파크 앱을 실행하는 다른 방법이 그림 (독립형, 메소, 원사 등)으로 들어오는 곳입니다.

이제 this을 읽어보십시오.

이 모드에서는 역할마다 전용 JVM이 있습니다. 드라이버는 별도의 JVM으로 실행되며, 10 ~ 1000 대의 실행 프로그램 JVM이 서로 다른 시스템에서 실행될 수 있습니다 (Crazy right!).

재미있는 부분은 단일 JVM 내에서 실행되는 동일한 응용 프로그램이 1000 개의 JVM에서 실행되도록 배포된다는 것입니다. 이러한 응용 프로그램 배포, 이러한 JVM의 수명주기, 결함 허용 등은 Spark 및 기본 클러스터 프레임 워크에서 처리됩니다.