출처 : https://learn.microsoft.com/ko-kr/training/modules/build-data-pipeline-azure-synapse-analytics/

 

Azure Synapse Analytics에서 데이터 파이프라인 빌드 - Training

Azure Synapse Analytics를 사용하여 파이프라인을 빌드합니다.

learn.microsoft.com

 

학습 목표

  • Azure Synapse Analytics 파이프라인의 핵심 개념 설명
  • Azure Synapse Studio에서 파이프라인을 만든다.
  • 파이프라인에서 데이터 흐름 작업을 구현한다.
  • 파이프라인 실행을 시작하고 모니터링한다.

 


 

Azure Synapse Analytics의 파이프라인 이해

 - Azure Synapse Analytics의 파이프라인은 데이터 이동 및 처리 작업을 수행하는 일련의 활동을 캡슐화한다.

 - 파이프라인을 사용하여 데이터 전송 및 변환 활동을 정의하고 분기, 반복 및 기타 일반적인 처리 논리를 관리하는 제어 흐름 활동을 통해 이러한 활동을 오케스트레이션할 수 있다.

 - Azure Synapse Studio의 그래픽 디자인 도구를 사용하면 코딩을 최소화하거나 코딩 없이 복잡한 파이프라인을 빌드할 수 있다.

 

 

[핵심 파이프라인 개념]

1. Activity

 - 파이프라인의 실행 가능한 작업

 - 시퀀스로 연결하여 흐름을 정의할 수 있다.

 - 특정 활동의 결과(성공, 실패, 완료)를 사용하여 시퀀스의 다음 활동으로 흐름을 전달할 수 있다.

 - 원본에서 데이터를 추출하고 대상(또는 싱크)에 로드하는 간단한 데이터 복사 작업뿐만 아니라 ETL작업의 일부로 데이터에 변환을 적용하는 보다 복잡한 데이터 흐름을 포함하여 데이터 전송 작업을 캡슐화 할 수 있다.

 - Spark Notebook 실행 또는 Azure 함수 호출과 같은 특정 시스템에서 처리 작업을 캡슐화하는 활동이 있다.

 - 루프, 조건부 분기를 구현하거나 변수 및 매개 변수 값을 관리하는데 사용할 수 있는 제어 흐름 활동이 있다.

 

2. Integration runtime

 - 파이프라인에는 컴퓨팅 리소스와 실행할 실행 컨텍스트가 필요하다. 파이프라인의 통합 런타임은 이 컨텍스트를 제공하며 파이프라인에서 활동을 시작하고 조정하는데 사용된다.

 

2. Linked services

 - 대부분의 활동은 파이프라인의 통합 런타임에서 직접 실행되지만 일부 활동은 외부 서비스에 따라 달라진다. 예를 들어, 파이프라인에는 Azure Databricks에서 Notebook을 실행하거나 Azure SQL Database에서 저장 프로시서를 호출하는 활동이 포함될 수 있다. 파이프라인에서 사용하는 외부 서비스에 대한 보안 연결을 사용하도록 설정하려면 서비스에 대한 연결된 서비스를 정의해야 한다.

 

3. Dataset

 - 대부분의 파이프라인은 데이터를 처리하며 파이프라인의 활동에서 사용하고 생성하는 특정 데이터는 데이터 세트를 사용하여 정의된다.

 - 파이프라인에서 사용할 각 데이터 개체에 대한 스키마를 정의하고 원본에 연결할 관련 연결된 서비스를 포함한다.

 - 활동에는 입력 또는 출력으로 데이터 세트가 포함될 수 있다.

 

 

 

Azure Synapse Studio에서 파이프라인 만들기

 - 위치 : Integrate

 - Azure Synapse Studio에서 그래픽 디자인 인터페이스 사용할 수 있음.

 - 파이프라인 디자이너에는 시각적 디자인 캔버스로 끌어서 놓을 수 있는 범주로 구성된 활동 세트가 포함됨. 캔버스에서 각 활동을 선택하고 캔버스 바로 아래의 속성 창을 사용하여 해당 활동에 대한 설정을 구성할 수 있음.

 - 활동의 논리적 시퀀스를 정의하기 위해 각 활동의 오른쪽 가장자리에 작은 아이콘으로 표시되는 성공, 실패, 완료됨 종속성 조건을 사용하여 활동을 연결할 수 있음.

 

[JSON을 사용하여 파이프라인 정의]

 - 예시) 

{
  "name": "CopyPipeline",
  "properties": {
    "description": "Copy data from a blob to Azure SQL table",
    "activities": [
      {
        "name": "CopyFromBlobToSQL",
        "type": "Copy",
        "inputs": [
          {
            "name": "InputDataset"
          }
        ],
        "outputs": [
          {
            "name": "OutputDataset"
          }
        ],
        "typeProperties": {
          "source": {
            "type": "BlobSource"
          },
          "sink": {
            "type": "SqlSink",
            "writeBatchSize": 10000,
            "writeBatchTimeout": "60:00:00"
          }
        },
        "policy": {
          "retry": 2,
          "timeout": "01:00:00"
        }
      }
    ]
  }
}

 

 

데이터 흐름 정의

 - 데이터 흐름은 데이터 흐름과 변환을 정의하는데 일반적으로 사용되는 활동 유형

 - 구성

  • 원본 : 전송할 입력 데이터
  • 변환 : 데이터 흐름을 통해 스트림할 때 데이터에 적용할 수 있는 다양한 작업
  • 싱크 : 데이터를 로드할 대상

- 파이프라인에 Data Flow 활동을 추가할 때 필요한 데이터 흐름 요소를 만들고 구성할 별도의 그래픽 디자인 인터페이스에서 열 수 있음.

- 데이터 흐름을 만드는 중요한 부분은 다양한 단계를 통해 데이터가 흐르면서 열에 대한 매핑을 정의하여 열 이름과 데이터 형식이 적절하게 정의되도록 하는 것

- 데이터 흐름을 개발하는 동안 데이터 흐름 디버그 옵션을 사용하도록 설정하여 흐름을 통해 데이터 하위 집합을 전달할 수 있음. 이는 열이 올바르게 매핑되었는지 테스트하는데 유용할 수 있다.

 

파이프라인 실행

- 파이프라인을 실행하도록 트리거를 정의할 수 있다.

  • 즉시
  • 명시적으로 예약된 간격으로
  • 데이터 레이크의 폴더에 추가되는 새 데이터 파일과 같은 이벤트에 대한 응답으로

- Azure Synapse Studio의 Monitor 페이지에서 파이프라인의 개별 실행을 모니터링할 수 있다.

- Azure Synapse Analytics 및 Microsoft Purview를 통합하는 기능과 결합된 경우 파이프라인 실행 기록을 사용하여 데이터 계보 데이터 흐름을 추적할 수 있다.

+ Recent posts