2017-11-14 1 views
0

나는 내 프로젝트를 위해 스파크를 배우고 있는데, 나는 스파크의 셔플 과정에 박혀있다. 이 작업이 내부적으로 어떻게 작동하는지 알고 싶습니다. 나는이 작업에 관련된 몇 가지 키워드를 발견 ShuffleMapStage, ShuffleMapTask, ShuffledRDD, 셔플 쓰기, 셔플 읽기 .... 스파크 셔플 작동 원리

내 질문

은 다음과 같습니다

1) Why we need ShuffleMapStage? When this stage is created and how it works? 
2) When ShuffledRDD's compute method is called? 
3) What are Shuffle Read and Shuffle Write? 

답변

1

suffle operation 노동자에 일관된 데이터를 배포하는 구성 (재분할) 데이터 키 (데이터 localilty 문제)에 해시 함수를 사용하여.

이 작업에는 데이터 전송이 포함되어 작업을 수행하기 전에 데이터를 구성하고 작업의 수를 줄이면 성능이 향상됩니다.

셔플 작업은 자동으로 Spark에서 2 transformation 사이에서 호출되어 action을 실행합니다.

일부 스파크 변환은

(연합,지도, 줄처럼 계산, 필터) 일부 스파크 변환이 셔플을 필요로하지 않습니다

(종류, 그룹 등의 참여에 의해) 셔플 필요