2017-02-22 2 views
0

나는 모든 데이터를 제 시간에 처리하기 위해 많은 동시 작업을 실행해야하는 kafka에서 스파크 직접 스트림을 실행 중입니다. spark에서 spark.streaming.concurrentJobs을 실행할 동시 작업의 수로 설정할 수 있습니다.스파크 다이렉트 스트림 동시 작업 제한

내가 알고 싶은 것은 지정된 환경에서 실행할 수있는 동시 작업 수를 결정하는 논리적 인 방법입니다. 우리 회사의 개인 정보 보호 문제에 관해서는 내가 갖고있는 사양을 말할 수는 없지만, 내가 알고 싶은 것은 사양이 한계를 결정하는 데 왜 관련이 있는지, 이유는 무엇입니까?

물론 대안을 늘리고 테스트를 한 다음 결과에 따라 조정할 수 있지만 좀 더 논리적 인 접근 방식을 원합니다. 실제로 한계와 이유를 결정하는 것이 무엇인지 이해하고 싶습니다.

답변

1

다른 동시 작업 수를 테스트하고 전체 실행 시간을 확인하는 것이 가장 신뢰할 수있는 방법입니다. 그러나 가장 좋은 숫자는 대략 Runtime.getRuntime().availableProcessors();과 같다고 가정합니다.

제게는 사용 가능한 프로세서 수로 시작한 다음 1,2, 3으로 늘리거나 줄이십시오. 그런 다음 차트를 실행하십시오 시간대별로 일자리 수에 따라) 최적의 작업 수가 표시됩니다.

+0

나는'Runtime.getRuntime(). availableProcessors();'을 출력하라는 제안을 사용했다. 내가 필요한 것보다 더 높은 숫자를 받았지만, 내 상한을 아는 것이 좋았다. 셀 수없이 많은 테스트를 거친 후, 나는 의미있는 숫자로왔다. 감사. – user3124181