Spark Job 스케줄링
spark는 자원을 조정하기 위한 방안을 제공했다.우선, 모든spark 프로그램은 몇 개의 독립된excutor 집단을 달리고 있다(그 중에서excutor는 jvm에서run task와store 데이터로) 집단 관리는 집단 차원의 자원 분배를 제공한다.그 다음으로, 모든spark 프로그램에서 서로 다른 프로세스가 제출한job (actions) 를 병행해서 실행할 수 있다.이런 상황은 매우 흔하다. sparkContext는 공평한 스케줄링 메커니즘을 제공했다.
spark 프로그램 간 스케줄링
사용자마다 같은 그룹을 사용하고 다른 설정을 사용합니다.처음에 해결해야 할 것은 자원의 분할이다.현재 흔히 볼 수 있는 분배 원칙은 다음과 같은 세 가지가 있는데, 그 중에서yarn이 가장 자주 사용한다.
spark 프로그램 내 스케줄링
서로 다른 라인에서 제출된 병렬job는 동시에 실행할 수 있으며,spark 내부의 스케줄링은 라인이 안전합니다.일반적으로 스파크의 스케줄링은 FIFO의 것이고 각 Job은 Stages로 나눌 수 있다.만약 첫 번째job의 스테이지가task가 실행된다면, 그 다음job는 기다려야 합니다.spark0에서.8부터 공평 스케줄러를 설정할 수 있고spark분배tasks는 일종의 퀴즈 방식으로 짧은 job는 미리 실행될 수 있다.sparkContext에서 설정 가능
spark.scheduler.mode=FAIR
공평 스케줄링 탱크공평 스케줄러는 잡스를 특정한 자원 탱크에 함께 넣는 방식을 제공하여 일부 중요한jobs에게 높은 우선순위의 자원을 제공할 수 있다.중요한 잡스가 필요할 때 미리 완성할 수 있다는 보장이 있습니다.일반적으로jobs는default pool에 제출되지만 코드에서 현재 라인의job가 어느 pool에서 실행되는지 수시로 제어할 수 있습니다. 예를 들어sc.setLocal Property ("spark.scheduler.pool", "pool"), 현재의pool 사용을 취소할 수도 있고,sc.setLocal Property ("spark.scheduler.pool",null) 이상의 사용은 모두 pool의 설정 파일을 설정해야 합니다.세 가지 매개변수가 있는데 매개변수의 의미는 다음과 같습니다.
FAIR
1
2
FIFO
2
3
코드에서sc.setLocalProperty("spark.scheduler.pool", "pool1")를 사용하고 상기 파일을 설정하지 않으면 모든 분배지는 기본적으로FIFO,weight=1,minshare=0을 사용합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.