2016-08-17 5 views
3

를위한, 대 집행 내가 스파크의 성능 조정의 주위에 두 가지 질문이 번호 : 나는 스파크 작업에 병렬 처리를 제어하기위한 중요한 것 중 하나 이해스파크 성능 튜닝 - 코어

  1. 파티션의 수 처리중인 RDD에 존재하는 실행 프로그램과 해당 파티션을 처리하는 코어를 제어합니다. 이것이 사실이라고 가정 할 수 있습니까?

    • 실행자 수 # 실행자 코어 수는 < = 파티션 수입니다. 즉 하나의 파티션이 항상 하나의 실행기의 하나의 코어에서 처리된다. 이 내가 HDFS는 기록처럼 집행자 당 코어의 높은 숫자를 가지고하는 일에 - 제가 영향을 미칠 수 있음을 이해 파티션
  2. 의 수보다 더 집행 * 코어를 가진 아무 소용이 없지만, 여기 내 두 번째 질문, 순전히 데이터 처리 지점에서 두 가지의 차이점은 무엇입니까? 예 :

    1. 5 집행 * 2 집행자 코어

    2. 이 집행 * 5 집행자 : 나는이 두 작업 사이의 차이 일 것입니다 무슨 10 노드 클러스터가있는 경우 (충분한 모든 것을 처리 할 노드 당 메모리가있어 가정) 코어

    무한한 메모리와 CPU가 있다고 가정하면 성능 관점에서 위의 두 가지가 동일하게 수행되어야한다고 생각합니까?

답변

0

내 경험에 비추어 볼 때, 노드가 10 개인 클러스터가 있다면 20 명의 스파크 실행자가 필요합니다. 작업의 세부 사항이 중요하므로 일부 테스트는 선택적인 구성을 결정하는 데 도움이됩니다.

+0

노드 수보다 많은 실행 프로그램을 갖는 것이 좋습니다. 각 실행 프로그램이 노드에서 충분한 CPU/메모리를 사용하지 않으면 실행 프로그램 당 더 많은 코어를 갖는 것이 더 좋지 않습니까? – Shay