새소식

반응형
IT

Apache Airflow - 1. 개요

  • -
728x90
반응형

 

 

안녕하세요 늑대양입니다.

 

 

예전부터 공부하고 싶었던 Apache Airflow를 주제로 정리하는 블로깅을 시작합니다 🥸

 

 

첫 번째 글로 Apache Airflow의 개요에 대해 알아보도록 하겠습니다.

 

 

 

 

Apache Airflow 메인로고

 

 

 

  • 워크플로우를 작성하고 스케줄링하고 모니터링하는 작업을 프로그래밍 할 수 있게 해주는 플랫폼
  • AirBnB에서 개발한 워크플로우 스케줄링, 모니터링 플랫폼!
  • 2016 아파치 재단 incubator program
  • 현재 아파치 탑레벨 프로젝트 중 하나
  • AirBNB, Paypal, Intel, Stripe 등의 회사에서 사용
  • 실제 데이터의 처리가 이루어지는 곳은 아님!!
  • 워크플로우 관리를 위한 도구 중 하나!!

 

워크플로우가 하나만 있다면 CRON 스크립트(기존 방식)를 통해서 관리가 가능!

 

 

c.f. 워크플로우란?!

  • 의존성으로 연결된 task 들의 집합
  • 의존성으로 연결된 상태 > DAG(Directed Acycle Graph)

 

 

기존 방식의 문제점

  • 실패 복구: 실패할 경우 언제, 어떻게 다시 실행?! Backfill(다시 메우기) 과정은?!
  • 모니터링
  • 의존성 관리: 파이프라인 간 의존성이 있는 경우 (모니터링 관련)
  • 확장성: 분산된 환경에서 관리가 어려움
  • 배포: 워크플로우 배포에 손이 탐..

 

Apache Airflow를 사용해야하는 이유!!

  • 데이터 파이프라인의 수가 엄청나게 늘어난다면 관리가 어려움
  • 사용하지 않을 경우, PoF(Point of Failure)를 찾기 어려움
  • 파이썬으로 (쉬운) 프로그래밍 가능
  • 분산된 환경에서의 확장성
  • 웹 대시보드 (GUI)
  • 커스터마이징

 

 

 

Apache Airflow 구성 요소

  • 웹 서버: 웹 대시보드 UI
  • 스케줄러: 워크플로우가 언제 실행되는지 관리
  • Metastore: 메타데이터 관리
  • Executor: 테스크가 어떻게 실행되는지 정의
  • Worker: 테스크를 실행하는 프로세스

 

 

DAG (Directed Acyclic Graph)

  • 방향성이 있는 순환하지 않는 그래프!!
  • 의존성 관리
  • Download: 외부 API
  • Process: Spark Job
  • Store: Database

 

 

Operator

  • Task(Operator instance)를 정의하는데 사용
  • Action operators: 실제 연산을 수행
  • Transfer operators: 데이터를 옮김
  • Sensor operators: 테스크를 언제 실행시킬지, 트리거를 기다림

 

 

Apache Airflow 활용분야

  • 데이터 웨어하우스
  • 머신러닝
  • 분석
  • 실험
  • 데이터 인프라 관리

 

 

 

 

 

 

 

 

 

긴 글 읽어주셔서 감사합니다 😍

 

 

 

 

 

728x90
반응형

'IT' 카테고리의 다른 글

RAID  (0) 2024.03.18
[Linux] Linux 관련 기본 스터디 내용 정리 - 1  (0) 2023.04.12
2020년 최고의 프로그래밍 언어 10가지  (0) 2020.01.12
IT 카테고리  (0) 2019.08.05
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.