본문 바로가기
학습장/Data Engineering

Azure 환경에서 구동되는 ETL - Azure ADF

by daedoo_ 2023. 1. 16.

ADF : Azure Data Factory

MS의 클라우드 서비스인 Azure 제품 중 하나로서 ETL, 데이터 Processing, 머신러닝 등을 클라우드 환경에서 활용할 수 있습니다.

 

최근에 조금씩 알아가고 있는 단계에서 알게 된 내용들에 대해 정리하고자 합니다.

 

 

Azure DevOps 나 Git과의 연동을 지원함. UI 상에서 변경 내용들이 Git과 연동되어 저장됨. UI 환경에서 작업된 내용이 내부적으로는 대부분 json 형식의 스크립트로 저장되는 것으로 보임. 동시작업을 위해서는 주기적으로 publish를 해주어야 함

 

- 파이프라인 : 보통의 ETL Tool에서 Job으로 통칭하는 작업 단위를 ADF에서는 파이프라인 이라고 함.

이 파이프라인에서는 ADF 에서 제공하는 여러가지의 블럭들을 활용해 데이터 처리 작업을 구성함.

기존에 생성한 파이프라인도 '블럭'에 해당될 수 있어서 배치 수행용으로 사용할 파이프라인 생성 가능. 또한, 대부분의 ETL Tool 처럼 각 블럭 간에는 성공/실패/종료 이후 수행될 블럭을 링크로 지정하여 선후행 관계 적용 가능

 

- 트리거 : 파이프라인의 실행 스케쥴 등록시 '트리거' 를 활용함. 일반적인 형식의 시각 기동 뿐만 아니라 이벤트 트리거 등도 가능

 

- 매개변수 : 파이프라인 내에 변수 저장이나 ADF 에서 자체 제공하는 함수 활용 가능. 파이프라인 간에는 json형식으로 뱉는 상위 파이프라인의 결과 값을 변수로 활용 가능

 

 

 

- 모니터링 : ADF 내에 모니터링 페이지가 별도로 있고, 직관적인 화면을 제공합니다. 또한 결과를 CSV 로 떨굴 수 있다거나 배치 작업에 관한 전반적인 모니터링 측면에서는 일반적인 상용 ETL 툴 보다 훨씬 좋은 것 같습니다.

 

- 이외에 Python, 닷넷 등의 언어를 지원하여 프로그래밍 방식으로 파이프라인을 구성할 수도 있는 것 같습니다. 또한 레퍼런스 문서에서 보면 SAP과 CDC 연동도 되는 것 같고요.. 

 

- ADF 에서는 많은 블럭들을 제공하고, 아직 일부만 사용해본 단계이지만 아는 내용들을 정리해보았습니다.

  • 스크립트
    • 일반적인 스크립트 블럭으로 대부분의 설정된 DB 서버에 따라 입력된 SQL 스크립트가 수행됨. Oracle -> MSSQL 데이터 이관시 오픈쿼리를 활용하는데 오픈 쿼리 구문의 경우에는 세미콜론 (;)을 제거해야 정상 동작함..
    • PL/SQL 구문도 잘 동작하는 것으로 보임.
  • 데이터복사
    • 소스 / 싱크 탭에서 각각의 DB 서버 연결정보 설정. '싱크'가 보통의 타겟DB 개념인듯
    • 소스 탭에서 스크립트 입력 기능을 통해 SELECT 구문 활용 가능
    • 싱크 탭에서도 스크립트를 입력 란에 적재 전 DELETE 구문 활용 가능
    • 싱크 측 DB에는 존재하지 않는 테이블이라면 적재 시에 테이블 생성도 가능
    • ADF 에서 소스-싱크 지원하는 DB 및 플랫폼 - https://learn.microsoft.com/ko-kr/azure/data-factory/concepts-pipelines-activities?tabs=data-factory
  • 웹 작업
    • REST API 호출을 지원하는 블럭 - MS Teams 웹 훅 등에 활용 가능

 

'학습장 > Data Engineering' 카테고리의 다른 글

ADF 배치작업 모니터링 방안  (1) 2023.02.07
[DW] Mart Modeling  (1) 2022.11.28
[DW] Dimensional Modeling  (2) 2022.11.24
[DW] OLAP 정의와 목적  (2) 2022.11.18
[DB] index 등 기본개념 정리  (3) 2022.11.08

댓글