데이터 통합파이프라인 최적화 및 디버깅Debugging pipelines일정 문제 해결하기

본 번역은 검증되지 않았습니다. AIP를 통해 영문원문으로부터 번역되었습니다.

일정 문제 해결하기

Scheduler 측정치 페이지

일정 문제를 해결하기 시작하는 가장 좋은 방법 중 하나는 Scheduler 측정치 페이지를 살펴보는 것입니다. 측정치 페이지는 실패의 원인, 일반적인 실패 모드를 포함하여 알려줄 수 있습니다:

  • 예약된 빌드가 실패하였습니다. Run History 탭에서 실패한 빌드의 증거를 볼 수 있으며, 이러한 빌드를 클릭하면 빌드 애플리케이션의 빌드 보고서로 이동하여 전체 로그를 확인할 수 있습니다.
  • 예약된 빌드가 무시되었습니다. Run History 탭에서 트리거되었지만 빌드되지 않은 어떤 빌드든 상태 열에 Ignored를 표시합니다.
  • 예상한 시간이나 주기에 일정이 트리거되지 않았습니다. 이 경우, Run History 탭에서 예상했던 시간에 빌드가 트리거되지 않았음을 나타낼 수 있습니다.

Versions 탭은 과거 일정 버전과 수정 내역을 보여주며, 일정이 예상치 못하게 다르게 작동하기 시작하면 유용할 수 있습니다. 이 변경과 일치하는 일정 버전의 변경 사항을 확인하고, 일정을 이전에 작동하던 상태로 되돌려 보십시오.

예약된 빌드가 실패

예상한 시간에 일정이 트리거되었는지 Scheduler 측정치 페이지Run History 탭을 확인하여 확인할 수 있습니다.

일정이 트리거되었지만 빌드가 이후에 실패했다면, 디버깅 가이드를 따라 이 빌드를 디버깅할 수 있습니다.

적절한 권한이 설정되지 않으면 일정 빌드도 실패합니다. 일정의 권한은 일정이 있는 토큰 모드에 따라 달라집니다. 자세한 정보는 프로젝트 범위 일정을 참조하십시오.

예약된 빌드가 무시되었습니다

예상한 시간에 일정이 트리거되었는지 Scheduler 측정치 페이지Run History 탭을 확인하여 확인할 수 있습니다. 이는 일정이 무시된 이유를 보통 알려줍니다.

모든 데이터셋이 최신입니다

목표 데이터셋이 모두 최신인 경우, 즉, 마지막 빌드 이후에 입력이 업데이트되지 않았다면, 일정 실행은 무시됩니다. 이 경우, Run History 탭에서 이 이유를 볼 수 있습니다. 일정 에디터에서 일정 목록으로 이동합니다. 그런 다음 Out-of-date별로 Data Lineage 그래프를 색칠하는 옵션을 선택하면, 어떤 작업 사양이 노후화되었는지 전체적인 개요를 볼 수 있습니다.

이 행동은 특별한 상황에서 고급 설정Force Build 옵션을 사용하여 재정의할 수 있지만, 이러한 상황 외에는 계산적으로 낭비적입니다. 대상 데이터셋 중 어떤 데이터셋이 phonograph 동기화, API 호출로 변환 또는 Data Connection Sync에 의해 빌드되면, 이들은 노후화되지 않게 나타나고 일정을 실행하려면 Force Build 옵션을 활성화해야 할 수 있습니다.

일정은 데이터셋의 부분 집합을 빌드합니다

일정이 데이터셋의 부분 집합만 트리거한다면, 이를 Scheduler 측정치 페이지Run History 탭에서 확인할 수 있습니다.

이것의 원인 중 하나는 데이터셋의 일부만 노후화되었기 때문입니다. Scheduler는 노후화된 데이터셋만 빌드하고 최신 데이터셋은 빌드 중에 무시합니다. 모든 데이터셋이 최신에 대한 더 자세한 문제 해결 내용을 참조하십시오. 빌드가 Ignored인 경우는 모든 이러한 데이터셋이 최신일 때 발생합니다.

또 다른 원인은 데이터셋이 빌드의 데이터셋 그래프에 포함되지 않았을 수 있습니다. 일정 에디터에서 주어진 일정이 선택되면, 빌드할 데이터셋이 Data Lineage 그래프에 강조 표시됩니다. 데이터셋 선택은 빌드 유형에 따라 달라집니다. Connecting build를 사용하는 경우, 동일한 데이터셋을 사용하는 일정에 연결 데이터셋이 있는지 특히 확인해야 합니다.

일정이 트리거되지 않았습니다

예상한 시간에 일정이 트리거되었는지 Scheduler 측정치 페이지Run History 탭을 확인하여 확인할 수 있습니다. 여기서 일반적인 디버깅 단계는 다음과 같습니다:

  • 일정이 일시 중지되지 않았는지 확인합니다. 일시 중지된 일정은 일시 중지가 해제될 때까지 트리거되지 않습니다.
  • 일정 트리거 구성을 확인합니다. 이전에 성공했다면, 최근 트리거에 변경이 있었는지 일정 이력을 확인하십시오.
  • 일정이 이벤트 트리거를 사용하는 경우, 예상 이벤트가 실제로 발생했는지 확인합니다. 예를 들어, 입력 업데이트 시 빌드가 트리거되어야 한다면, 입력의 마지막 빌드가 성공적으로 실행되었고 이 빌드의 트랜잭션이 데이터셋 미리보기 히스토리 뷰에서 성공적으로 커밋되었는지 확인하십시오.

일정 재시도가 구성과 다릅니다

모든 실패 유형이 재시도 가능한 것은 아닙니다. 일정이 실행될 때 재시도 횟수는 관리자가 설정한 최대값으로 제한됩니다. 자세한 정보는 고급 설정을 참조하십시오.

일정이 JobSpecInputsTrashed 또는 JobSpecOutputsTrashed로 실패하거나, Data Lineage가 일부 데이터셋이 휴지통에 있다고 경고합니다

이는 일정이 휴지통에 있는 리소스를 포함하거나 그것으로부터 읽는다는 것을 의미합니다. 해결하기 위해 다음 중 하나를 수행할 수 있습니다:

  • 휴지통에서 삭제된 데이터셋을 복원합니다.
  • 삭제된 데이터셋을 일정에서 제외합니다. 이 데이터셋이 일정 내의 다른 하위 스트림 데이터셋의 입력으로 사용된다면, 다음 중 하나를 수행해야 합니다:
    • 휴지통에 있는 데이터셋과 함께 하위 스트림 데이터셋을 제외합니다.
    • 하위 스트림 데이터셋의 로직을 수정하여 더 이상 휴지통에 있는 데이터셋을 입력으로 사용하지 않도록 합니다.

Scheduler 권한

일정을 편집할 수 없는 문제에 직면했다면, 프로젝트 범위 권한이 원인일 수 있습니다.

프로젝트 범위 모드에서 일정을 편집하려면, 사용자는 대상 데이터셋에 Edit 권한, 트리거 데이터셋에 View 권한, 일정이 범위를 가진 프로젝트에 Edit 권한을 가져야 합니다. 권한을 잃은 데이터셋이 하나라도 있으면, 변경 사항을 저장하기 전에 이 데이터셋을 일정에서 제거하십시오.

일정을 편집, 삭제 또는 일시 중지하려면, 사용자는 대상 데이터셋과 일정이 범위를 가진 프로젝트에 Edit 권한을 가져야 합니다. 일정을 보려면, 사용자는 대상 데이터셋에 View 권한이 있어야 합니다.