다음을 통해 공유


Spark 기록 서버의 SQL Server 빅 데이터 클러스터에서 Spark 애플리케이션 디버그 및 진단

적용 대상: SQL Server 2019(15.x)

Important

Microsoft SQL Server 2019 빅 데이터 클러스터는 사용 중지되었습니다. SQL Server 2019 빅 데이터 클러스터에 대한 지원은 2025년 2월 28일부터 종료되었습니다. 자세한 내용은 Microsoft SQL Server 플랫폼의 공지 블로그 게시물 및 빅 데이터 옵션을 참조하세요.

이 문서에서는 확장된 Spark 기록 서버를 사용하여 SQL Server 빅 데이터 클러스터에서 Spark 애플리케이션을 디버그하고 진단하는 방법에 대한 지침을 제공합니다. 이러한 디버그 및 진단 기능은 Spark 기록 서버에 기본 제공되고 Microsoft에서 지원합니다. 확장에는 데이터 탭과 그래프 탭 및 진단 탭이 포함됩니다. 데이터 탭에서 사용자는 Spark 작업의 입력 및 출력 데이터를 확인할 수 있습니다. 그래프 탭에서 사용자는 데이터 흐름을 확인하고 작업 그래프를 재생할 수 있습니다. 진단 탭에서 사용자는 데이터 기울이기, 시간 기울이기 및 실행기 사용 현황 분석을 참조할 수 있습니다.

Spark 기록 서버에 대한 액세스 권한 가져오기

오픈 소스의 Spark 기록 서버 사용자 환경은 작업별 데이터 및 빅 데이터 클러스터에 대한 작업 그래프 및 데이터 흐름의 대화형 시각화를 포함하는 정보로 향상됩니다.

URL로 Spark 기록 서버 웹 UI 열기

다음 URL로 이동하여 Spark 기록 서버를 열고, <Ipaddress><Port>을(를) 빅 데이터 클러스터에 대한 구체적인 정보로 대체하십시오. SQL Server 2019 CU 5 이전에 배포된 클러스터에서 기본 인증(사용자 이름/암호) 빅 데이터 클러스터를 설치한 경우 게이트웨이(Knox) 엔드포인트에 로그인하라는 메시지가 표시되면 사용자 루트 를 제공해야 합니다. SQL Server 빅 데이터 클러스터 배포를 참조하세요. SQL Server 2019(15.x) CU 5부터 기본 인증을 사용하여 새 클러스터를 배포하면 게이트웨이를 포함한 모든 엔드포인트가 AZDATA_USERNAMEAZDATA_PASSWORD을 사용합니다. CU 5로 업그레이드된 클러스터의 엔드포인트는 게이트웨이 엔드포인트에 연결하는 사용자 이름으로 계속 사용됩니다 root . 이 변경 내용은 Active Directory 인증을 사용하는 배포에는 적용되지 않습니다. 릴리스 정보에서 게이트웨이 엔드포인트를 통해 서비스에 액세스하기 위한 자격 증명 을 참조하세요.

https://<Ipaddress>:<Port>/gateway/default/sparkhistory

Spark 기록 서버 웹 UI는 다음과 같습니다.

Spark 기록 서버

Spark 기록 서버의 데이터 탭

작업 ID를 선택한 다음 도구 메뉴에서 데이터를 클릭하여 데이터 보기를 가져옵니다.

  • 탭을 별도로 선택하여 입력, 출력테이블 작업을 확인합니다.

    Spark 기록 서버 데이터 탭

  • 복사 단추를 클릭하여 모든 행을 복사합니다.

    모든 행 복사

  • csv 단추를 클릭하여 모든 데이터를 CSV 파일로 저장합니다.

    데이터를 CSV 파일로 저장

  • 검색 필드에 키워드를 입력하여 검색하면 검색 결과가 즉시 표시됩니다.

    키워드를 사용하여 검색

  • 표를 정렬하려면 열 머리글을 클릭하고 더하기 기호를 클릭하여 행을 확장하여 자세한 내용을 표시하거나 빼기 기호를 클릭하여 행을 축소합니다.

    데이터 테이블 기능

  • 오른쪽에 있는 부분 다운로드 단추를 클릭하여 단일 파일을 다운로드한 다음 선택한 파일을 로컬 위치에 다운로드합니다. 파일이 더 이상 존재하지 않으면 오류 메시지를 표시하는 새 탭이 열립니다.

    데이터 행 다운로드

  • 전체 경로 복사, 다운로드 메뉴에서 확장되는 상대 경로 복사를 선택하여 전체 경로 또는 상대 경로를 복사 합니다. Azure Data Lake Storage 파일의 경우 Azure Storage Explorer에서 열기 가 Azure Storage Explorer를 시작합니다. 로그인 시 정확한 폴더로 이동합니다.

    전체 또는 상대 경로 복사

  • 한 페이지에 표시할 행이 너무 많으면 표 아래의 숫자를 클릭하여 페이지를 탐색합니다.

    Data page

  • 데이터 옆에 있는 물음표에 마우스를 올려 도구 설명을 표시하거나 물음표를 클릭하여 자세한 정보를 가져옵니다.

    데이터 추가 정보

  • 피드백 제공을 클릭하여 문제에 대한 피드백을 보냅니다.

    graph feedback

Spark 기록 서버의 그래프 탭

작업 ID를 선택한 다음 도구 메뉴에서 그래프 를 클릭하여 작업 그래프 보기를 가져옵니다.

  • 생성된 작업 그래프를 통해 작업의 개요를 확인합니다.

  • 기본적으로 모든 작업이 표시되며 작업 ID로 필터링할 수 있습니다.

    그래프 작업 ID

  • 진행률을 기본값으로 둡니다. 사용자는 표시 드롭다운 목록에서 읽기 또는 쓰기 를 선택하여 데이터 흐름을 확인할 수 있습니다.

    graph display

    그래프 노드는 열 지도를 보여 주는 색으로 표시됩니다.

    graph heatmap

  • 재생 단추를 클릭하여 작업을 재생 하고 중지 단추를 클릭하여 언제든지 중지합니다. 재생 시 작업의 상태를 색상으로 구분하여 표시:

    • 녹색은 성공을 나타냅니다: 작업이 성공적으로 완료되었습니다.
    • 다시 시도 시 주황색: 실패했지만 작업의 최종 결과에 영향을 미치지 않는 작업의 인스턴스입니다. 이러한 작업에는 나중에 성공할 수 있는 중복 또는 재시도 인스턴스가 있었습니다.
    • 실행용 파란색: 작업이 실행 중입니다.
    • 흰색으로 표시된 작업: 작업이 대기 중이거나 단계가 건너뛰어진 경우.
    • 실패의 경우 빨간색: 작업이 실패했습니다.

    그래프 색 샘플, 실행 중

    건너뛴 스테이지가 흰색으로 표시됩니다. 그래프 색 샘플, 건너뛰기

    그래프 색 샘플, 실패

    Note

    각 작업을 재생할 수 있습니다. 불완전한 작업의 경우 재생이 지원되지 않습니다.

  • 마우스를 스크롤하여 작업 그래프를 확대/축소하거나 확대/축소를 클릭하여 화면에 맞도록 합니다.

    맞출 그래프 확대/축소

  • 그래프 노드를 마우스로 가리키면 실패한 작업이 있을 때 도구 설명이 표시되고 스테이지를 클릭하여 스테이지 페이지를 엽니다.

    graph tooltip

  • 작업 그래프 탭에서 단계에는 아래 조건을 충족하는 작업이 있는 경우 도구 설명과 작은 아이콘이 표시됩니다.

    • 데이터 편향: 이 단계 내의 모든 작업의 데이터 읽기 크기 > 평균 데이터 읽기 크기의 2배 보다 작고 데이터 읽기 크기 > 10 MB 보다 작음
    • 시간 기울이기: 이 단계 내의 모든 작업의 실행 시간 > 평균 실행 시간 * 2 및 실행 시간 > 2분

    그래프 기울이기 아이콘

  • 작업 그래프 노드는 각 단계의 다음 정보를 표시합니다.

    • ID.
    • 이름 또는 설명
    • 총 작업 수
    • 데이터 읽기: 입력 크기와 셔플 읽기 크기의 합입니다.
    • 데이터 쓰기: 출력 크기와 쉐플 쓰기 크기의 합계입니다.
    • 실행 시간: 첫 번째 시도 시작 시간과 마지막 시도 완료 시간 사이의 시간
    • 행 개수: 입력 레코드, 출력 레코드, 무작위 읽기 레코드 및 무작위 쓰기 레코드의 합계
    • Progress.

    Note

    기본적으로 작업 그래프 노드는 각 단계의 마지막 시도(스테이지 실행 시간 제외)의 정보를 표시하지만 재생 중에 그래프 노드는 각 시도에 대한 정보를 표시합니다.

    Note

    읽기 및 쓰기 데이터 크기의 경우 1MB = 1000KB = 1000 * 1000바이트를 사용합니다.

  • 피드백 제공을 클릭하여 문제에 대한 피드백을 보냅니다.

    graph feedback

Spark 기록 서버의 진단 탭

작업 ID를 선택한 다음 도구 메뉴에서 진단을 클릭하여 작업 진단 보기를 가져옵니다. 진단 탭에는 데이터 기울이기, 시간 기울이기실행기 사용 현황 분석이 포함됩니다.

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

    Diagnosis tabs

Data Skew

데이터 기울이기 탭을 클릭하면 지정된 매개 변수에 따라 기울어진 해당 작업이 표시됩니다.

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

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

    데이터 불균형 섹션2

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

    데이터 왜곡 섹션3

Time Skew

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

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

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

    시간 왜곡 제 2절

실행기 사용 현황 분석

실행기 사용 그래프는 Spark 작업 실제 실행기 할당 및 실행 상태를 시각화합니다.

  • 실행기 사용 현황 분석을 클릭한 다음 실행기 사용량에 대한 4가지 형식 곡선을 작성합니다. 여기에는 할당된 실행기, 실행 중인 실행기, 유휴 실행기최대 실행기 인스턴스가 포함됩니다. 할당된 실행기와 관련하여 각 "Executor added" 또는 "Executor removed" 이벤트는 할당된 실행기를 늘리거나 줄입니다. 자세한 비교를 위해 “작업” 탭에서 “이벤트 타임라인”을 확인할 수 있습니다.

    Executors tab

  • 색 아이콘을 클릭하여 모든 초안에서 해당 콘텐츠를 선택하거나 선택 취소합니다.

    Select chart

Spark/Yarn 로그

Spark 기록 서버 외에도 각각 여기에서 Spark 및 Yarn에 대한 로그를 찾을 수 있습니다.

  • Spark 이벤트 로그: hdfs:///system/spark-events
  • Yarn 로그 파일: hdfs:///tmp/logs/root/logs-tfile

참고: 두 로그의 기본 보존 기간은 7일입니다. 보존 기간을 변경하려면 Apache Spark 및 Apache Hadoop 구성 페이지를 참조하세요. 위치를 변경할 수 없습니다 .

Known issues

Spark 기록 서버에는 다음과 같은 알려진 문제가 있습니다.

  • 현재 Spark 3.1 클러스터(CU13 이상) 및 Spark 2.4(CU12-)에서만 작동합니다.

  • RDD를 사용하는 입력/출력 데이터는 데이터 탭에 표시되지 않습니다.

Next steps