확장된 Apache Spark 기록 서버를 사용하여 Apache Spark 애플리케이션 디버그 및 진단

이 문서에서는 확장된 Apache Spark 기록 서버를 사용하여 완료되거나 실행 중인 Spark 애플리케이션을 디버그 및 진단하는 방법에 대한 지침을 제공합니다.

Apache Spark 기록 서버 액세스

Apache Spark 기록 서버는 Spark 애플리케이션을 완료하고 실행하기 위한 웹 사용자 인터페이스입니다. 진행률 표시기 Notebook 또는 Apache Spark 애플리케이션 세부 정보 페이지에서 Apache Spark 웹 사용자 인터페이스를 열 수 있습니다.

진행률 표시기 Notebook에서 Spark 웹 UI 열기

Apache Spark 작업이 트리거되면 Spark 웹 UI를 여는 단추가 진행률 표시기에서 추가 작업 옵션 내에 있습니다. Spark 웹 UI를 선택하고 몇 초 동안 기다린 다음 Spark UI 페이지가 나타납니다.

Screenshot showing open the Spark web UI from progress indicator notebook.

Apache Spark 애플리케이션 세부 정보 페이지에서 Spark 웹 UI 열기

Apache Spark 애플리케이션 세부 정보 페이지를 통해 Spark 웹 UI를 열 수도 있습니다. 페이지 왼쪽에서 모니터링 허브를 선택한 다음 Apache Spark 애플리케이션을 선택합니다. 애플리케이션의 세부 정보 페이지가 나타납니다.

Screenshot showing open the Spark web UI from Apache Spark application detail page.

상태 실행 중인 Apache Spark 애플리케이션의 경우 단추에 Spark UI가 표시됩니다. Spark UI를 선택하면 Spark UI 페이지가 나타납니다.

Screenshot showing the button displays the spark ui in the running state.

상태 종료된 Apache Spark 애플리케이션의 경우 종료된 상태 중지, 실패, 취소 또는 완료수 있습니다. 단추에 Spark 기록 서버가 표시됩니다. Spark 기록 서버를 선택하면 Spark UI 페이지가 나타납니다.

Screenshot showing the button displays the spark ui in the ended state.

Apache Spark 기록 서버의 그래프 탭

보려는 작업의 작업 ID를 선택합니다. 그런 다음, 도구 메뉴에서 그래프를 선택하여 작업 그래프 뷰를 가져옵니다.

개요

생성된 작업 그래프에서 작업에 대한 개요를 볼 수 있습니다. 기본적으로 이 그래프는 모든 작업을 표시합니다. 작업 ID를 기준으로 이 뷰를 필터링할 수 있습니다.

Screenshot showing spark application and job graph job ID.

표시

기본적으로 진행률 표시가 선택되어 있습니다. 표시 드롭다운 목록에서 읽음 또는 기록됨을 선택하여 데이터 흐름을 확인할 수 있습니다.

Screenshot showing spark application and job graph display.

그래프 노드는 열 지도 범례에 표시된 색상을 표시합니다.

Screenshot showing spark application and job graph heatmap.

재생

작업을 재생하려면 재생을 선택합니다. 언제든지 중지를 선택하여 중지할 수 있습니다. 태스크 색상은 재생 시 여러 상태를 표시합니다.

Color 의미
녹색 성공: 작업이 성공적으로 완료되었습니다.
Orange 다시 시도됨: 실패했지만 작업의 최종 결과에 영향을 주지 않는 작업의 인스턴스입니다. 해당 작업에는 중복 또는 다시 시도 인스턴스가 있었으며, 나중에 성공할 수 있습니다.
파랑 실행 중: 태스크가 실행 중입니다.
흰색 대기 중이거나 건너뜀: 태스크가 실행을 위해 대기 중이거나 단계를 건너뛰었습니다.
빨간색 실패: 태스크가 실패했습니다.

다음 이미지는 녹색, 주황색 및 파란색 상태 색을 보여 줍니다.

Screenshot showing spark application and job graph color sample, running.

다음 이미지는 녹색 및 흰색 상태 색을 보여 줍니다.

Screenshot showing spark application and job graph color sample, skip.

다음 이미지는 빨간색과 녹색 상태 색을 보여 줍니다.

Screenshot showing spark application and job graph color sample, failed.

참고 항목

Apache Spark 기록 서버는 완료된 각 작업에 대한 재생을 허용하지만 불완전한 작업에 대한 재생은 허용하지 않습니다.

확대/축소

마우스 스크롤을 사용하여 작업 그래프를 확대 및 축소하거나 크기에 맞게를 선택하여 화면에 맞게 조정합니다.

Screenshot showing spark application and job graph zoom to fit.

도구 설명

실패한 태스크가 있을 경우 그래프 노드를 마우스로 가리켜 도구 설명을 확인하고, 단계를 클릭하여 단계 페이지를 엽니다.

Screenshot showing spark application and job graph tooltip.

작업 그래프 탭의 단계에 다음 조건을 충족하는 태스크가 있는 경우 도구 설명 및 작은 아이콘이 표시됩니다.

조건 설명
데이터 기울이기 이 단계 내의 모든 작업의 데이터 읽기 크기 > 평균 데이터 읽기 크기 * 2 및 데이터 읽기 크기 > 는 10MB입니다.
시간 기울이기 이 단계 내의 모든 작업의 실행 시간 > 평균 실행 시간 * 2 및 실행 시간 > 2분.

Screenshot showing spark application and job graph skew icon.

그래프 노드 설명

작업 그래프 노드에는 각 스테이지에 대한 다음 정보가 표시됩니다.

  • ID
  • 이름 또는 설명
  • 총 작업 수
  • 읽은 데이터: 입력 크기 및 무작위 읽기 크기의 합
  • 데이터 쓰기: 출력 크기 및 순서 섞기 쓰기 크기의 합계
  • 실행 시간: 첫 시도의 시작 시간과 마지막 시도의 완료 시간 사이의 시간
  • 행 수: 입력 레코드의 합계, 출력 레코드, 읽기 레코드 순서 섞기 및 쓰기 레코드 순서 섞기
  • 진행률

참고 항목

기본적으로 작업 그래프 노드에는 단계 실행 시간을 제외하고 각 단계의 마지막 시도 정보가 표시됩니다. 그러나 재생하는 동안 그래프 노드에는 각 시도에 대한 정보가 표시됩니다.

읽기 및 쓰기의 데이터 크기는 1MB = 1000KB = 1000 * 1000바이트입니다.

피드백 제공

피드백 보내기를 선택하여 문제에 관한 피드백을 보냅니다.

Screenshot showing spark application and job graph feedback.

Apache Spark 기록 서버의 진단 탭 살펴보기

진단 탭에 액세스하려면 작업 ID를 선택합니다. 그런 다음, 도구 메뉴에서 진단을 선택하여 작업 진단 뷰를 표시합니다. 진단 탭에는 데이터 기울이기, 시간 기울이기실행기 사용량 분석이 포함되어 있습니다.

각 탭을 선택하여 데이터 기울이기, 시간 기울이기실행기 사용량 분석을 확인합니다.

Screenshot showing sparkUI diagnosis data skew tab again.

데이터 기울이기

데이터 기울이기 탭을 선택하면 지정한 매개 변수에 따라 해당 기울이기 작업이 표시됩니다.

  • 매개 변수 지정 - 첫 번째 섹션에는 데이터 기울이기를 검색하는 데 사용되는 매개 변수가 표시됩니다. 기본 규칙은 읽은 작업 데이터가 평균 작업 데이터의 3배보다 크고 읽은 작업 데이터가 10MB를 초과합니다. 기울어진 작업에 대한 고유 규칙을 정의하려는 경우 매개 변수를 선택할 수 있습니다. 기울어진 단계기울어진 문자 섹션이 그에 따라 새로 고침됩니다.

  • 기울어진 단계 - 두 번째 섹션에는 이전에 지정한 조건을 충족하는 기울어진 작업이 있는 단계가 표시됩니다. 한 단계에서 둘 이상의 기울어진 작업이 있는 경우 기울어진 스테이지 테이블에는 가장 기울어진 작업(예: 데이터 기울이기에 대한 가장 큰 데이터)만 표시됩니다.

    Screenshot showing spark ui diagnosis data skew tab.

  • 기울이기 차트 - 기울이기 단계 테이블의 행을 선택하면 데이터 읽기 및 실행 시간에 따라 기울이기 차트에 더 많은 작업 분포 정보가 표시됩니다. 기울어진 작업은 빨간색으로 표시되고 일반 작업은 파란색으로 표시됩니다. 차트에는 최대 100개의 샘플 태스크가 표시되고 태스크 세부 정보가 오른쪽 아래 패널에 표시됩니다.

    Screenshot showing spark ui skew chart for stage 10.

시간 기울이기

시간 기울이기 탭에는 작업 실행 시간을 기준으로 기울어진 작업이 표시됩니다.

  • 매개 변수 지정 - 첫 번째 섹션에는 시간 기울이기를 검색하는 데 사용되는 매개 변수가 표시됩니다. 시간 기울이기를 검색하는 기본 기준은 작업 실행 시간이 평균 실행 시간의 3배보다 크고 작업 실행 시간이 30초를 초과하는 것입니다. 필요에 따라 매개 변수를 변경할 수 있습니다. 기울이기 단계 및 기울이기 차트앞에서 설명한 데이터 기울이기 탭과 마찬가지로 해당 단계 및 작업 정보를 표시합니다.

  • 시간 기울이기를 선택하면 매개 변수 지정 섹션에 설정된 매개 변수에 따라 필터링된 결과가 기울어진 단계 섹션에 표시됩니다. 기울어진 스테이지 섹션에서 한 항목을 선택한 다음 해당 차트가 섹션 3에서 초안으로 작성되고 작업 세부 정보가 오른쪽 아래쪽 패널에 표시됩니다.

    Screenshot showing spark ui diagnosis time skew section.

실행기 사용량 분석

이 기능은 현재 Fabric에서 더 이상 사용되지 않습니다. 이 방법을 해결 방법으로 계속 사용하려는 경우 다음과 같이 URL에서 경로 "/diagnostic" 뒤에 "/executorusage"를 명시적으로 추가하여 페이지에 액세스하세요.

Screenshot showing modify the url.