데이터 팩터리 제어 흐름 이해

완료됨

제어 흐름이란?

제어 흐름은 파이프라인 수준에서 시퀀스, 분기, 매개 변수 정의의 작업 연결 그리고 요청 시 또는 트리거에서 파이프라인을 호출할 때 인수 전달을 포함하는 파이프라인 작업의 오케스트레이션입니다.

제어 흐름에는 루프 컨테이너의 각 반복에 대한 정보를 전달할 수 있는 루프 컨테이너도 포함될 수 있습니다.

For Each 루프를 제어 흐름 작업을 사용하는 경우 Azure Data Factory는 이 방법을 사용하여 여러 작업을 병렬로 시작할 수 있습니다. 따라서 최신 데이터 웨어하우스 구축과 같은 다양한 데이터 통합 패턴의 생성을 지원하는 Azure Data Factory를 사용하여 만드는 파이프라인 내에서 복잡하고 반복적인 처리 논리를 작성할 수 있습니다.

몇 가지 일반적인 제어 흐름 작업은 아래 섹션에 설명되어 있습니다.

활동 연결

Azure Data Factory에서 파이프라인 내의 시퀀스로 작업을 연결할 수 있습니다. 작업 정의의 dependsOn 속성을 사용하여 업스트림 작업과 연결할 수 있습니다.

분기 활동

파이프라인 내에서 작업을 분기하는 데 Azure Data Factory를 사용합니다. 분기 작업의 예로는 프로그래밍 언어로 제공되는 if 문과 유사한 The If-condition 작업이 있습니다. 분기 작업은 작업 세트를 평가하고 조건이 true로 평가되면 작업 세트가 실행됩니다. False로 평가되면 대체 작업 세트가 실행됩니다.

매개 변수

파이프라인 수준에서 매개 변수를 정의하고 요청 시 또는 트리거에서 파이프라인을 호출하는 동안 인수를 전달할 수 있습니다. 그러면 작업은 파이프라인에 전달될 때 매개 변수에 보관된 인수를 사용합니다.

사용자 지정 상태 전달

Azure Data Factory를 사용하여 사용자 지정 상태 전달을 수행할 수 있습니다. 사용자 지정 상태 전달은 파이프라인의 후속 작업에 사용되어야 하는 작업의 상태 또는 출력을 생성한 작업입니다. 예를 들어 작업의 JSON 정의에서 이전 작업의 출력에 액세스할 수 있습니다. 사용자 지정 상태 전달을 사용하면 값이 작업을 통과하는 워크플로를 만들 수 있습니다.

컨테이너 루프화

ForEach 작업과 같은 제어 흐름의 루핑 컨테이너 그룹이 파이프라인의 반복을 정의합니다. 루핑 컨테이너를 통해 컬렉션을 반복하고 정의된 루프에서 지정된 작업을 실행할 수 있습니다. 프로그래밍 언어로 사용되는 ‘for each 루프 구조’와 유사하게 작동합니다. 또한 각 작업 외에 Until 작업도 있습니다. 이 기능은 프로그래밍에 사용되는 do until 루프와 비슷합니다. 즉, 조건이 충족될 때까지(until) 루프에서 작업 세트를 실행합니다(do).

트리거 기반 흐름

파이프라인은 요청 시(blob 게시와 같은 이벤트 기반 방식으로) 트리거되거나 벽시계 시간 단위로 트리거될 수 있습니다.

다른 파이프라인에서 파이프라인 호출

Azure Data Factory에서 Execute Pipeline 작업을 사용하면 한 Data Factory 파이프라인에서 다른 파이프라인을 호출할 수 있습니다.

델타 흐름

델타 흐름 사용과 관련된 사용 사례는 델타 로드입니다. ETL 패턴의 델타 로드는 파이프라인의 이전 반복 이후 변경된 데이터만 로드합니다. 조회 작업, 유연한 일정 등의 기능은 델타 로드 작업을 처리하는 데 도움이 됩니다. 조회 작업을 사용하는 경우 외부 원본에서 레코드 또는 테이블 이름 값을 읽거나 조회합니다. 이 출력을 다음 작업에서 추가로 참조할 수 있습니다.

기타 제어 흐름

제어 흐름 작업은 더 많습니다. 다른 유용한 활동에 대해서는 다음 항목을 참조하세요.

  • 웹 작업: 제어 흐름을 사용하는 Azure Data Factory의 웹 작업은 Data Factory 파이프라인에서 사용자 지정 RESTendpoint를 호출할 수 있습니다. 작업에 사용되도록 데이터 세트 및 연결된 서비스를 전달할 수 있습니다.

  • 메타데이터 가져오기 작업: 메타데이터 가져오기 작업은 Azure Data Factory에 있는 모든 데이터의 메타데이터를 검색합니다.