다음을 통해 공유


파이프라인에서 데이터 흐름 사용

여러 데이터 흐름을 사용하여 복잡한 파이프라인을 빌드할 때 논리 흐름은 타이밍 및 비용에 큰 영향을 미칠 수 있습니다. 이 섹션에서는 다양한 아키텍처 전략의 영향에 대해 설명합니다.

병렬로 데이터 흐름 실행

여러 데이터 흐름을 병렬로 실행하는 경우 서비스는 각 작업에 대해 별도의 Spark 클러스터를 실행합니다. 이렇게 하면 각 작업을 격리하고 병렬로 실행할 수 있지만 동시에 여러 클러스터가 실행됩니다.

데이터 흐름이 병렬로 실행되는 경우 사용되지 않는 웜 풀이 여러 번 발생하므로 Azure IR 시간을 라이브 속성에 사용하도록 설정하지 않는 것이 좋습니다.

각 작업에 대해 동일한 데이터 흐름을 여러 번 실행하는 대신 데이터 레이크에 데이터를 스테이징하고 야생카드 경로를 사용하여 단일 데이터 흐름에서 데이터를 처리합니다.

순차적으로 데이터 흐름 실행

데이터 흐름 작업을 순서대로 실행하는 경우 Azure IR 구성에서 TTL을 설정하는 것이 좋습니다. 이 서비스는 컴퓨팅 리소스를 다시 사용하므로 클러스터 시작 시간이 빨라집니다. 각 작업은 여전히 격리되어 있으며 각 실행에 대해 새 Spark 컨텍스트를 받습니다.

단일 데이터 흐름 오버로드

모든 논리를 단일 데이터 흐름 내에 배치하면 서비스는 단일 Spark 인스턴스에서 전체 작업을 실행합니다. 이는 비용을 절감하는 방법처럼 보일 수 있지만 서로 다른 논리적 흐름을 혼합하여 모니터링하고 디버그하기 어려울 수 있습니다. 한 구성 요소가 실패하면 작업의 다른 모든 부분도 실패합니다. 비즈니스 논리의 독립적인 흐름을 통해 데이터 흐름을 구성하는 것이 좋습니다. 데이터 흐름이 너무 커지면 별도의 구성 요소로 분할하면 모니터링 및 디버깅이 더 쉬워집니다. 데이터 흐름의 변환 수에는 하드 제한이 없지만 너무 많으면 작업이 복잡해집니다.

병렬로 싱크 실행

데이터 흐름 싱크의 기본 동작은 각 싱크를 순차적으로 실행하고 싱크에서 오류가 발생할 경우 데이터 흐름이 실패하도록 하는 것입니다. 또한 데이터 흐름 속성으로 이동하여 싱크에 대해 다른 우선 순위를 설정하지 않는 한 모든 싱크는 동일한 그룹으로 기본 설정됩니다.

데이터 흐름을 사용하면 싱크를 UI 디자이너의 데이터 흐름 속성 탭에서 그룹으로 그룹화할 수 있습니다. 싱크 실행 순서를 설정하고 동일한 그룹 번호를 사용하여 싱크를 그룹화할 수 있습니다. 그룹을 관리하기 위해 동일한 그룹에서 싱크를 실행하고 병렬로 실행하도록 서비스에 요청할 수 있습니다.

파이프라인에서 "싱크 속성" 섹션에서 데이터 흐름 작업을 실행하는 것은 병렬 싱크 로드를 설정하는 옵션입니다. "병렬로 실행"을 사용하도록 설정하면 데이터 흐름이 순차적인 방식이 아닌 동시에 연결된 싱크에 쓰도록 지시합니다. 병렬 옵션을 활용하려면 싱크를 함께 그룹화하고 새 분기 또는 조건부 분할을 통해 동일한 스트림에 연결해야 합니다.

파이프라인에서 Azure Synapse 데이터베이스 템플릿에 액세스

파이프라인을 크롤링할 때 Azure Synapse 데이터베이스 템플릿을 사용할 수 있습니다. 새 데이터 흐름을 만들 때 원본 또는 싱크 설정에서 작업 영역 DB를 선택합니다. 데이터베이스 드롭다운에는 데이터베이스 템플릿을 통해 만든 데이터베이스가 나열됩니다. 작업 영역 DB 옵션은 새 데이터 흐름에만 사용할 수 있으며 Synapse Studio 갤러리에서 기존 파이프라인을 사용하는 경우에는 사용할 수 없습니다.

성능과 관련된 다른 데이터 흐름 문서를 참조하세요.