다음을 통해 공유


Databricks 작업 내의 태스크 흐름 제어

일부 작업은 완료해야 하는 작업 목록일 뿐입니다. 태스크 간의 종속성을 지정하여 태스크의 실행 순서를 제어할 수 있습니다. 작업을 순서대로 또는 병렬로 실행하도록 구성할 수 있습니다.

그러나 조건부 작업, 오류 수정 또는 정리를 포함하는 분기 흐름을 만들 수도 있습니다. Azure Databricks는 작업 내의 작업 흐름을 제어하는 기능을 제공합니다. 다음 항목에서는 작업의 흐름을 제어할 수 있는 방법에 대해 설명합니다.

재시도

재시도는 오류 메시지와 함께 작업이 실패할 경우 특정 작업을 다시 실행해야 하는 횟수를 지정합니다. 오류는 종종 일시적이며 다시 시작을 통해 해결됩니다. 구조적 스트리밍을 사용한 스키마 진화와 같은 Azure Databricks의 일부 기능은 재시도로 작업을 실행하여 환경을 재설정하고 워크플로가 계속 진행되도록 허용한다고 가정합니다.

작업에 대한 재시도를 지정하면 오류가 발생할 경우 지정된 횟수까지 작업이 다시 시작됩니다. 모든 작업 구성에서 태스크 재시도를 지원하는 것은 아닙니다. 재시도 정책설정을 참조하세요.

연속 트리거 모드에서 실행하는 경우 Databricks는 지수 백오프를 사용하여 자동으로 다시 시도합니다. 연속 작업에 대한 오류 처리 방법은 참조하세요..

조건부 작업인 경우 실행

작업 유형인 경우 Run을 사용하여 다른 작업의 결과에 따라 이후 작업에 대한 조건을 지정할 수 있습니다. 작업 목록에 새로운 작업을 추가하고 업스트림 종속 작업을 지정합니다. 이러한 작업의 상태에 따라 실행할 하나 이상의 다운스트림 작업을 구성할 수 있습니다. 작업은 다음 종속성을 지원합니다.

  • 모두 성공했습니다.
  • 최소한 하나는 성공했다
  • 실패 없음
  • 모두 완료
  • 하나 이상 실패했습니다.
  • 모두 실패했습니다.

작업 종속성 구성 참조

If/else 조건부 작업

If/else 작업 유형을 사용하여 일부 값을 기반으로 조건부를 지정할 수 있습니다. If/else 작업사용하여 작업에 분기 논리 추가를 참조하세요.

작업은 논리에 정의한 taskValues 지원하며 작업에서 작업 환경으로 일부 계산 또는 상태의 결과를 반환할 수 있습니다. taskValues, 작업 매개 변수 또는 동적 값에 대해 If/else 조건을 정의할 수 있습니다.

Azure Databricks는 조건부에 대해 다음 피연산자를 지원합니다.

  • ==
  • !=
  • >
  • >=
  • <
  • <=

참고 항목:

각 작업에 대해

For each 작업을 사용하여 다른 작업을 루프에서 실행하여 작업의 각 반복에 다른 매개 변수 집합을 전달합니다.

작업에 For each 작업을 추가하려면 For each 작업과 중첩된 작업정의해야 합니다. 중첩된 작업은 For each 작업의 각 반복에 대해 실행할 작업이며 표준 Databricks 작업 유형 중 하나입니다. 중첩된 작업에 매개 변수를 전달하기 위해 여러 메서드가 지원됩니다.

매개 변수가 있는 Azure Databricks 작업을 루프에서 실행하는 방법을 참조하세요 .