Apache Spark 웹 UI에서 "단계 건너 뛰기"는 무엇을 의미합니까?


답변:


123

일반적으로 캐시에서 데이터를 가져 왔으며 주어진 단계를 다시 실행할 필요가 없음을 의미합니다. 다음 단계에서 셔플 링 ( reduceByKey)이 필요함을 보여주는 DAG와 일치합니다 . 셔플 링이 관련 될 때마다 Spark는 생성 된 데이터를 자동으로 캐시합니다 .

Shuffle은 또한 디스크에 많은 수의 중간 파일을 생성합니다. Spark 1.3부터 ​​이러한 파일은 해당 RDD가 더 이상 사용되지 않고 가비지 수집 될 때까지 보존됩니다. 이것은 계보가 다시 계산되는 경우 셔플 파일을 다시 만들 필요가 없도록 수행됩니다.


21
좋은 대답입니다. 당신이 밖으로 찾으려면 방법 의 의미에 대한 자세한 체크 아웃, 웹 UI에 단계를 "보류", "생략" github.com/apache/spark/pull/3009 먼저 이러한 개념을 도입 풀 요청을. 건너 뛴 / 보류 단계가 작업 수준 진행률 표시 줄과 상호 작용하는 방식에 대해 궁금한 경우 해당 PR도 흥미로운 읽기입니다.
조쉬 로젠

1
내가 올바르게 따르고 있다면 Spark가 이것을 건너 뛰면 발생하지 않으며 코드에서 모두 함께 제거 될 수 있음을 의미합니까? 또는 코드는 캐시에서 매우 효율적이므로 그대로 두시겠습니까? @ zero323
SparkleGoat

1
@SparkleGoat 아니요.이 단계는 이전에 평가되었으며 결과를 다시 실행하지 않고도 사용할 수 있음을 의미합니다.
10465355 말한다 Reinstate Monica

또 다른 질문은 캐싱 및 단계 건너 뛰기가 출력 데이터를 다르게 만들 수 있다는 것입니다.
SparkleGoat

@SparkleGoat, 캐싱 없음 (그리고 그 때문에 건너 뛰기)은 내부 스파크 최적화이며 어떤 식 으로든 출력 데이터를 변경하지 않습니다.
Ravi Sanwal
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.