2017-02-18 1 views
2

저는 스파크를 처음 접했고 싱글 톤 랩퍼를 사용하여 브로드 캐스트 var을 사용하면 어떤 이점이 있는지 이해하려고합니다. 스파크는 통신 비용을 줄이기 위해 효율적인 브로드 캐스트 알고리즘을 사용하여 브로드 캐스트 변수를 배포하려고 시도하고 있음을 알고 있습니다. 그러나 이것이 긴 수명의 응용 프로그램에서 한 번 발생한다고 가정하겠습니다. 따라서 오버 헤드가 아닙니다.스파크 브로드 캐스트 대 싱글 톤 랩퍼

각각의 작업은 싱글 톤 또는 단독 실행 파일의 복사본을 보유 할 것인가?

나는 그것이 싱글 톤과 어떻게 작동 하는지를 이해하고 방송과 비교하려고 노력하고있다.

이 질문 자체가 반복되는 경우 답변을 찾지 못했기 때문에 알려주십시오.

답변

0

각각의 작업에는 싱글 톤 사본이나 유언 집행자 사본 만 보관됩니까?

각 작업자는 브로드 캐스트 변수의 단일 캐시 된 복사본을 유지합니다. 브로드 캐스트 변수에 액세스해야하는 모든 작업은 해당 작업자에있는 동일한 복사본을 참조합니다. 예, 각 작업자의 단일 사본이지만 라이프 사이클이 BroadcastManagerContextCleaner으로 관리되므로 JVM 수준의 싱글 톤이 아닙니다.

이 책은 훌륭하게 여기에 대해 설명합니다 https://jaceklaskowski.gitbooks.io/mastering-apache-spark/content/spark-broadcast.html 그 다이어그램에 얼마나 잘 묘사되어 있는지보십시오.

관련 문제