작업 오류 해결 및 복구

예를 들어 이메일 알림, 모니터링 솔루션 또는 Azure Databricks 작업 UI를 통해 작업이 Azure Databricks 작업 실행에서 실패했음을 통보받았다고 가정합니다. 이 문서의 단계에서는 오류의 원인, 찾은 문제를 해결하기 위한 제안 및 실패한 작업 실행을 복구하는 방법을 식별하는 데 도움이 되는 지침을 제공합니다.

실패 원인 식별

Azure Databricks 작업 UI에서 실패한 태스크를 찾으려면 다음을 수행합니다.

  1. 사이드바에서 작업을 클릭합니다Jobs Icon.

  2. 이름 열에서 작업 이름을 클릭합니다. 실행 탭에는 실패한 실행을 포함하여 활성 실행 및 완료된 실행이 표시됩니다. 실행 탭의 행렬 보기에는 각 작업 태스크에 대한 성공 및 실패 실행을 포함하여 작업에 대한 실행 기록이 표시됩니다. 작업 실행이 실패했거나 종속 작업이 실패하여 건너뛰었으므로 실패할 수 있습니다. 행렬 보기를 사용하여 작업 실행의 태스크 실패를 신속하게 식별할 수 있습니다.

    Matrix view of job runs

  3. 실패한 태스크를 마우스로 가리키고 연결된 메타데이터를 확인합니다. 이 메타데이터에는 시작 및 종료 날짜, 상태, 기간 클러스터 세부 정보가 포함되고 경우에 따라 오류 메시지도 포함됩니다.

  4. 실패의 원인을 식별하려면 실패한 태스크를 클릭합니다. 작업 실행 세부 정보 페이지가 나타나고 작업의 출력, 오류 메시지 및 관련 메타데이터가 표시됩니다.

실패 원인 해결

데이터 품질 문제, 잘못된 구성 또는 컴퓨팅 리소스 부족과 같은 여러 가지 이유로 작업이 실패했을 수 있습니다. 태스크 실패의 몇 가지 일반적인 원인을 해결하기 위한 권장 단계는 다음과 같습니다.

  • 오류가 태스크 구성과 관련된 경우 태스크 편집을 클릭합니다. 태스크 구성이 새 탭에서 열립니다. 필요에 따라 태스크 구성을 업데이트하고 태스크 저장을 클릭합니다.
  • 문제가 클러스터 리소스와 관련된 경우(예: 인스턴스 부족) 다음과 같은 몇 가지 옵션이 있습니다.
    • 작업이 작업 클러스터를 사용하도록 구성된 경우 공유 다목적 클러스터를 사용하는 것이 좋습니다.
    • 클러스터 구성을 변경합니다. 태스크 편집을 클릭합니다. 작업 세부 정보 패널의 컴퓨팅에서 구성을 클릭하여 클러스터를 구성합니다. 작업자 수, 인스턴스 유형 또는 기타 클러스터 구성 옵션을 변경할 수 있습니다. 전환을 클릭하여 사용 가능한 다른 클러스터로 전환할 수도 있습니다. 사용 가능한 리소스를 최적으로 사용하려면 클러스터 구성에 대한 모범 사례를 검토합니다.
    • 필요한 경우 관리자에게 작업 영역이 배포된 클라우드 계정 및 지역에서 리소스 할당량을 늘리도록 요청합니다.
  • 최대 동시 실행을 초과하여 오류가 발생하는 경우 다음 중 하나를 수행합니다.
    • 다른 실행이 완료되기를 기다립니다.
    • 태스크 편집을 클릭합니다. 작업 세부 정보 패널에서 동시 실행 수 편집을 클릭하고 최대 동시 실행 수에 새 값을 입력한 후 확인을 클릭합니다.

경우에 따라 오류의 원인은 작업에서 업스트림 수 있습니다. 예를 들어 외부 데이터 원본을 사용할 수 없습니다. 외부 이슈가 해결된 후에도 다음 섹션에서 다루는 복구 실행 기능을 계속 활용할 수 있습니다.

실패한 작업 및 건너뛴 작업 다시 실행

실패 원인을 파악한 후에는 실패한 태스크의 하위 집합과 종속 태스크만 실행하여 실패한 다중 작업 작업을 복구하거나 취소할 수 있습니다. 성공한 태스크와 그에 의존하는 모든 태스크는 다시 실행되지 않으므로 이 기능은 실패한 작업 실행에서 복구하는 데 필요한 시간과 리소스를 줄입니다.

작업 실행을 복구하기 전에 작업 또는 작업 설정을 변경할 수 있습니다. 실패한 작업은 현재 작업 및 작업 설정을 사용하여 다시 실행됩니다. 예를 들어 Notebook 또는 클러스터 설정의 경로를 변경하는 경우 업데이트된 Notebook 또는 클러스터 설정을 사용하여 작업을 다시 실행합니다.

작업 실행 세부 정보 페이지에서 모든 작업 실행 기록을 봅니다.

참고 항목

  • 하나 이상의 태스크가 작업 클러스터를 공유하는 경우 복구 실행은 새 작업 클러스터를 만듭니다. 예를 들어 원래 실행에서 작업 클러스터 my_job_cluster를 사용한 경우 첫 번째 복구 실행은 새 작업 클러스터 my_job_cluster_v1를 사용하므로 초기 실행 및 복구 실행에서 사용되는 클러스터 및 클러스터 설정을 쉽게 볼 수 있습니다. my_job_cluster_v1에 대한 설정은 my_job_cluster에 대한 현재 설정과 동일합니다.
  • 복구는 둘 이상의 작업을 오케스트레이션하는 작업에서만 지원됩니다.
  • 실행 탭에 표시되는 기간 값에는 최신 복구 실행이 완료될 때까지 첫 번째 실행이 시작된 시간이 포함됩니다. 예를 들어 실행이 두 번 실패하고 세 번째 실행에서 성공한 경우 기간에는 세 실행 모두에 대한 시간이 포함됩니다.

실패한 작업을 복구하려면 다음을 실행합니다.

  1. 작업 실행 테이블의 시작 시간 열에서 실패한 실행에 대한 링크를 클릭하거나 행렬 보기에서 실패한 실행을 클릭합니다. 작업 실행 세부 정보 페이지가 나타납니다.
  2. 실행 복구를 클릭합니다. 작업 실행 복구 대화 상자가 나타나며, 실패한 모든 작업과 다시 실행될 종속 작업이 나열됩니다.
  3. 복구할 작업에 대한 매개 변수를 추가하거나 편집하려면 작업 실행 복구 대화 상자에 매개 변수를 입력합니다. 작업 실행 복구 대화 상자에 입력한 매개 변수가 기존 값을 재정의합니다. 후속 복구 실행에서 작업 실행 복구 대화 상자에서 키와 값을 지우면 매개 변수를 원래 값으로 반환할 수 있습니다.
  4. 작업 실행 복구 대화 상자에서 실행 복구를 클릭합니다.
  5. 복구 실행이 완료되면 행렬 보기가 복구된 실행에 대한 새 열로 업데이트됩니다. 빨간색으로 표시되었던 실패한 태스크가 이제 녹색이 되며, 이는 전체 작업의 성공적인 실행을 나타냅니다.

연속 작업 오류 보기 및 관리

연속 작업의 연속 실패가 임계값을 초과하는 경우 Azure Databricks 작업은 지수 백오프를 사용하여 작업을 다시 시도합니다. 작업이 지수 백오프 상태이면 작업 세부 정보 패널의 메시지에 다음을 비롯한 정보가 표시됩니다.

  • 연속 실패 횟수입니다.
  • 작업이 성공한 것으로 간주될 오류 없이 실행할 기간입니다.
  • 현재 활성 상태인 실행이 없는 경우 다음 재시도 전 시간입니다.

활성 실행을 취소하려면 다시 시도 기간을 다시 시작하고 새 작업 실행을 시작하려면 실행 다시 시작을 클릭합니다.