다음을 통해 공유


작업 종속성 구성

종속성이 있는 경우 실행 필드를 사용하면 다른 작업의 성공, 실패 또는 완료에 따라 작업에 제어 흐름 논리를 추가할 수 있습니다.

종속성은 작업 DAG에서 태스크 간 줄로 시각적으로 표시됩니다.

Azure Databricks는 다운스트림 태스크를 실행하기 전에 업스트림 태스크를 실행하여 최대한 많은 태스크를 병렬로 실행합니다.

참고 항목

작업이 하나의 태스크로만 구성된 경우 종속 대상만 표시됩니다.

또한 Databricks에는 제어 흐름 및 조건부화를 위한 다음과 같은 기능이 있습니다.

  • If/else 조건 작업은 부울 식의 결과에 따라 작업 DAG의 일부를 실행하는 데 사용됩니다. 이 If/else condition 작업을 통해 작업에 분기 논리를 추가할 수 있습니다. 예를 들어 업스트림 수집 태스크가 새 데이터를 추가하는 경우에만 변환 작업을 실행합니다. If/else 태스크를 사용하여 작업에 분기 논리 추가를 참조하세요.
  • 각각에 대해 조건 작업은 입력 배열에 따라 루핑 논리를 다른 작업에 추가합니다. 입력 배열은 수동으로 지정하거나 동적으로 생성할 수 있습니다. 루프에서 매개 변수화 Azure Databricks 작업 태스크 실행을 참조하세요.
  • 작업 실행 태스크를 사용하면 작업 영역에서 다른 작업을 트리거할 수 있습니다. 작업에 대한 작업 실행 태스크를 참조하세요.

작업에 실행 조건 추가

새 작업을 만들 때 DAG에서 작업을 선택한 경우 새 작업에는 기본적으로 이 작업에 대한 종속성이 구성됩니다.

컨트롤러를 편집하거나 추가하려면 다음을 수행합니다.

  1. 작업을 선택합니다.
  2. 종속 필드에서 X를 클릭하여 작업을 제거하거나 드롭다운 메뉴에서 추가할 작업을 선택합니다.
  3. 종속성이 있는 경우 실행 필드에서 조건부 옵션 중 하나를 선택합니다.
  4. 작업 저장을 클릭합니다.

Run if 조건 옵션

작업에 다음 Run if 조건을 추가할 수 있습니다.

  • 모두 성공: 모든 종속성이 실행되고 성공했습니다. 이것이 기본 설정입니다. 조건이 충족되지 않을 경우 작업이 ‭‬Upstream failed로 표시됩니다.
  • 하나 이상 성공: 하나 이상의 종속성이 성공했습니다. 조건이 충족되지 않을 경우 작업이 Upstream failed로 표시됩니다.
  • 실패 없음: 종속성이 하나도 실패하지 않았고 하나 이상의 종속성이 실행되었습니다. 조건이 충족되지 않을 경우 작업이 Upstream failed로 표시됩니다.
  • 모두 완료: 종속 실행의 상태에 관계없이 모든 종속성이 실행된 후 작업이 실행됩니다. 이 조건을 사용하면 종속 작업의 결과에 따라 실행 중인 작업을 정의할 수 있습니다.
  • 하나 이상 실패: 하나 이상의 종속성이 실패했습니다. 조건이 충족되지 않을 경우 작업이 Excluded로 표시됩니다.
  • 모두 실패: 모든 종속성이 실패했습니다. 조건이 충족되지 않을 경우 작업이 Excluded로 표시됩니다.

참고 항목

  • 오류를 처리하도록 구성된 작업은 Excluded 조건이 충족되지 않을 경우 Run if로 표시됩니다. 제외된 작업은 건너뛰고 성공으로 처리됩니다.
  • 모든 작업 종속성이 제외되면 Run if 조건에 관계없이 태스크도 제외됩니다.
  • 작업 실행을 취소하면 취소가 다운스트림 태스크를 통해 전파되고, 예를 들어 실패를 처리하는 Run if 조건이 있는 태스크가 실행되어 작업 실행이 취소될 때 정리 작업이 실행되는지 확인합니다.

작업 종속성이 있는 예제 작업

태스크 종속성을 구성하면 태스크 실행의 DAG(방향성 비순환 그래프)가 만들어집니다. 이는 작업 스케줄러에서 실행 순서를 나타내는 일반적인 방법입니다. 예를 들어 4개의 태스크로 구성된 다음 작업을 가정합니다.

태스크 종속성 예제 다이어그램

  • 태스크 1은 루트 태스크이며 다른 태스크에 종속되지 않습니다.
  • 태스크 2 및 태스크 3은 먼저 완료하는 태스크 1에 따라 달라집니다.
  • 마지막으로 태스크 4는 성공적으로 완료되는 태스크 2 및 태스크 3에 따라 달라집니다.

다음 다이어그램에서는 이러한 태스크에 대한 처리 순서를 보여 줍니다.

태스크 종속성 예제 흐름