[Airflow] Apache Airflow 특징

2025. 4. 21. 13:33·개발중/AirFlow
목차
  1. Apache Airflow 특징
  2. ⚙ DAG (Directed Acyclic Graph) 기반 워크플로우
  3. ⚙ Python으로 정의
  4. ⚙ 스케줄링 기능
  5. ⚙ 확장성
  6. ⚙ 다양한 연동성
  7. ⚙ 실패 처리 및 재시도
  8. ⚙ 실시간 모니터링
  9. ⚙ 동적 파이프라인
  10. ⚙ 로그 및 알림 시스템
  11. ⚙ 템플릿 및 매크로 지원
  12. ⚙ Task Dependencies
728x90
반응형

Apache Airflow 특징

Apache Airflow는 워크플로우 관리 및 스케줄링 플랫폼으로, 데이터 파이프라인의 실행 및 자동화를 지원합니다. 주로 복잡한 데이터 파이프라인, ETL(Extract, Transform, Load) 작업을 관리하는 데 사용되며, 작업 간의 종속성을 쉽게 정의하고 실행할 수 있는 환경을 제공합니다.

⚙ DAG (Directed Acyclic Graph) 기반 워크플로우

  • Airflow에서 워크플로우는 **DAG(Directed Acyclic Graph, 방향성 비순환 그래프)**로 정의됩니다. DAG는 각 작업(Task)이 어떤 순서로 실행되어야 하는지 정의한 구조로, 작업 간의 종속성을 명확히 관리할 수 있습니다.

⚙ Python으로 정의

  • Airflow 워크플로우는 Python 코드로 정의됩니다. Python을 사용하여 작업 간의 관계, 트리거, 조건 등을 유연하게 정의할 수 있습니다.

⚙ 스케줄링 기능

  • 작업을 스케줄링할 수 있어, 매일, 매주, 매시간 혹은 지정된 시간에 작업을 자동으로 실행할 수 있습니다. 정기적인 데이터 처리 및 보고서 생성에 적합합니다.

⚙ 확장성

  • Airflow는 수백 개의 작업을 병렬로 처리할 수 있는 확장성을 제공합니다. 여러 워커 노드를 통해 작업을 분산 처리할 수 있으며, 클러스터에서 실행 가능해 대규모 데이터 파이프라인 처리에 적합합니다.

⚙ 다양한 연동성

  • Airflow는 다양한 외부 시스템과 쉽게 연동할 수 있습니다. 예를 들어, AWS, Google Cloud, Microsoft Azure, MySQL, PostgreSQL, Hadoop, Spark 등과의 통합을 지원하는 플러그인과 연결 도구를 제공합니다.

⚙ 실패 처리 및 재시도

  • 작업 실패 시 재시도 로직을 쉽게 정의할 수 있습니다. 특정 횟수만큼 재시도 후 실패 처리를 하거나, 다음 작업에 영향을 주지 않도록 설정할 수 있습니다.

⚙ 실시간 모니터링

  • 웹 UI를 통해 DAG의 실행 상태를 실시간으로 모니터링할 수 있습니다. 작업이 성공, 실패, 재시도 상태인지 확인하고 필요한 경우 직접 실행하거나 수정할 수 있습니다.

⚙ 동적 파이프라인

  • Airflow는 동적 파이프라인을 지원합니다. 실행 시점에 조건에 따라 작업이 추가되거나 제거되는 동적 파이프라인을 구성할 수 있습니다.

⚙ 로그 및 알림 시스템

  • 각 작업의 실행 로그를 기록하며, 작업 상태(성공, 실패, 재시작 등)에 따라 이메일 알림 또는 Slack과 같은 메시징 서비스를 통한 알림을 받을 수 있습니다.

⚙ 템플릿 및 매크로 지원

  • Airflow는 Jinja 템플릿 엔진을 사용하여 템플릿과 매크로를 지원합니다. 이를 통해 복잡한 파이프라인 작업을 쉽게 처리할 수 있으며, 파라미터화된 작업 흐름을 구성할 수 있습니다.

⚙ Task Dependencies

  • Airflow는 작업 간의 종속성을 직관적으로 정의할 수 있습니다. 이전 작업이 성공해야만 다음 작업이 실행되는 식으로, 작업 순서를 명확하게 정의할 수 있습니다.
728x90
반응형
저작자표시 (새창열림)

'개발중 > AirFlow' 카테고리의 다른 글

[Airflow] DAG Objuect 작성 방법  (0) 2025.04.21
[Airflow] DAG (Directed Acyclic Graph) 란 ?  (0) 2025.04.21
Airflow DAG에서 모듈 임포트가 안 될 때: 상대경로 vs 절대경로 해결  (0) 2025.04.07
[Airflow] 아주 간단한 DAG 실행시키기  (0) 2025.04.03
[Airflow] Airflow 병렬 처리의 함정: Worker 분산 없이 처리하면?  (0) 2024.10.10
  1. Apache Airflow 특징
  2. ⚙ DAG (Directed Acyclic Graph) 기반 워크플로우
  3. ⚙ Python으로 정의
  4. ⚙ 스케줄링 기능
  5. ⚙ 확장성
  6. ⚙ 다양한 연동성
  7. ⚙ 실패 처리 및 재시도
  8. ⚙ 실시간 모니터링
  9. ⚙ 동적 파이프라인
  10. ⚙ 로그 및 알림 시스템
  11. ⚙ 템플릿 및 매크로 지원
  12. ⚙ Task Dependencies
'개발중/AirFlow' 카테고리의 다른 글
  • [Airflow] DAG Objuect 작성 방법
  • [Airflow] DAG (Directed Acyclic Graph) 란 ?
  • Airflow DAG에서 모듈 임포트가 안 될 때: 상대경로 vs 절대경로 해결
  • [Airflow] 아주 간단한 DAG 실행시키기
Binsoo
Binsoo
내 트러블 슈팅
  • Binsoo
    정수빈 기술블로그임.
    Binsoo
  • 전체
    오늘
    어제
    • 빈수 개발자 개발 일기 (932)
      • 개발중 (634)
        • Spring Boot (95)
        • Spring Security (2)
        • Spring Batch (6)
        • Spring Boot & Redis (13)
        • Java Persistence API (JPA) (28)
        • Web (42)
        • Rest Api (7)
        • Spring Concurrency Control (3)
        • Redis (8)
        • Kubernetes (k8s) (4)
        • MYSQL (35)
        • AirFlow (15)
        • Docker (2)
        • Git (22)
        • Linux (9)
        • JSON Web Tokens (JWT) (4)
        • Troubleshooting (87)
        • Swagger (0)
        • Vue.js (52)
        • Java (74)
        • html (12)
        • C (5)
        • jQuery (15)
        • JavaServer Pages (JSP) (17)
        • Arduino (1)
        • JavaScript (35)
        • Amazon Web Services (AWS) (11)
        • Algorithm (9)
        • 참고 기능 (18)
        • mongo (2)
      • PROJECT (27)
        • 스프링부트+JPA+몽고 API 개발 (3)
        • MINI (2)
        • 게시판 (3)
        • vue 프로젝트 (1)
        • JPA 사이드 프로젝트 기록 (17)
      • TEAM STUDY (156)
        • 가상 면접 사례로 배우는 대규모 시스템 설계 기초 (8)
        • 한 권으로 읽는 컴퓨터 구조와 프로그래밍 (12)
        • NAVER DEVELOPER (4)
        • LINUX (23)
        • PYTHON (19)
        • SERVER (8)
        • 알고리즘 코딩 테스트 스터디 (31)
        • 쿠버네티스 (40)
        • 대세는 쿠버네티스 [초급~중급] (11)
      • BOOK (0)
      • 자격증 (61)
        • 리눅스 1급 - 필기 기록 (19)
        • 네트워크 관리사 (2)
        • 네트워크 관리사 2급 - 실기 기록 (21)
        • 네트워크 관리사 2급 - 필기 기록 (16)
        • 정보처리 (2)
      • 직장인 대학원 (17)
        • 기록 (1)
        • 캐글 스터디 (3)
        • R (12)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    redis
    git
    네트워크 관리사 실기
    Git 저장소
    알고리즘
    REST API
    네트워크 관리사 2급 실기
    네트워크 관리사 자격증
    파이썬 알고리즘
    리눅스 마스터 1급 정리
    네트워크 관리사
    jpa
    네트워크 관리사 2급
    java
    리눅스 마스터 1급 요약
    쿠버네티스 스터디
    리눅스 1급 요약
    리눅스 마스터
    BackendDevelopment
    리눅스 마스터 1급
    스프링
    VUE
    리눅스 마스터 요약
    네트워크 관리사 학점
    Spring
    springboot
    네트워크 관리사 요약
    docker
    파이썬
    쿠버네티스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Binsoo
[Airflow] Apache Airflow 특징

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.