Apache Airflow 소개

Python으로 배우는 Apache Airflow 입문

Mike Metzger

Data Engineer

워크플로우란?

  • 워크플로우 - 데이터 엔지니어링 프로세스를 수행하는 일련의 단계

 

  • 예시: 파일 다운로드, 데이터 복사, 정보 필터링, 데이터베이스에 저장

파일 다운로드부터 데이터베이스 저장까지 순차적인 데이터 엔지니어링 단계를 나타낸 워크플로우 다이어그램

Python으로 배우는 Apache Airflow 입문

Airflow란?

Airflow - 워크플로우 오케스트레이션 플랫폼:

  • 생성
  • 예약
  • 모니터링

 

Apache Airflow 로고

   

워크플로우 생성, 예약, 모니터링을 나타내는 아이콘

Python으로 배우는 Apache Airflow 입문

Airflow란?

  • 모든 언어로 프로그램 구현 가능하나, 워크플로우는 Python으로 작성
  • 워크플로우를 Dag로 구현
  • 웹 인터페이스, 코드, 커맨드라인, REST API를 통해 접근
  • ETL 파이프라인, ML 워크플로우, 자동화 등에 활용

 

Apache Airflow 로고

Python으로 배우는 Apache Airflow 입문

Dag 간단 소개

Dag - 워크플로우 실행에 필요한 모든 것을 나타내는 모델.

  • 태스크와 의존성으로 구성
  • 이름, 이메일, 소유자 등 다양한 세부 정보로 생성

의존성 화살표로 연결된 태스크의 Dag 예시

Python으로 배우는 Apache Airflow 입문

Airflow 구성 요소

  • Scheduler - 예약된 워크플로우를 트리거하고 태스크를 제출
  • API Server - Airflow 플랫폼에 안전한 일관된 접근 제공
  • Dag processor - 스케줄러가 읽어 실행할 태스크와 시간을 파악
  • Metadata database - Dag 및 태스크 상태 저장

Airflow 구성 요소 다이어그램: 스케줄러, API 서버, Dag 프로세서, 메타데이터 데이터베이스

Python으로 배우는 Apache Airflow 입문

Airflow UI에서 워크플로우 실행

두 개의 Dag와 상호작용 옵션이 표시된 Airflow Dags 뷰

Python으로 배우는 Apache Airflow 입문

Airflow UI에서 워크플로우 실행

트리거 실행 버튼이 강조 표시된 Airflow Dags 뷰

Python으로 배우는 Apache Airflow 입문

Airflow UI에서 워크플로우 실행

기본 실행 옵션과 트리거 버튼이 있는 Airflow Dag 트리거 팝업

Python으로 배우는 Apache Airflow 입문

Airflow UI에서 워크플로우 실행

녹색 체크 표시로 성공한 최신 실행이 표시된 Airflow Dags 뷰

Python으로 배우는 Apache Airflow 입문

Airflow UI에서 워크플로우 실행

generate_random_number 등 개별 태스크 세부 정보가 나열된 Airflow Dag 실행 태스크 뷰

Python으로 배우는 Apache Airflow 입문

연습해 봅시다!

Python으로 배우는 Apache Airflow 입문

Preparing Video For Download...