[AirFlow] 기본 개념 및 특징

2sky·2024년 5월 13일

AirFlow

목록 보기
1/6

AirFlow란?

데이터 파이프라인을 작성, 스케줄링 및 모니터링하기 위한 오픈 소스 플랫폼.

주로 ETL(추출, 변환, 로드) 및 데이터 워크플로우 자동화에 사용

기본 개념과 이론:

  1. DAGs (Directed Acyclic Graphs): Airflow에서 데이터 파이프라인은 DAG로 표현. DAG는 노드(node)와 에지(edge)의 유향 비순환 그래프. 각 노드는 작업(task)을 나타내며, 에지는 작업 간의 종속성을 정의.
  2. Task: DAG의 각 노드는 하나 이상의 작업을 포함. 작업은 단일 단위의 작업 단계를 나타냄. 예를 들어, 데이터베이스에서 데이터를 추출하는 작업, 데이터를 변환하는 작업 등.
  3. 스케줄러 (Scheduler): Airflow 스케줄러는 정의된 DAG의 실행 스케줄을 관리. 사용자가 정의한 스케줄에 따라 DAG를 실행하고 관리.
  4. 실행자 (Executor): 실행자는 작업을 실행하는 방법을 정의. 로컬, 분산형 또는 클라우드 환경에서 작업을 실행.

장단점

장점

  • 유연성: Airflow는 Python으로 작성되어 있으며, 사용자는 Python 코드를 사용하여 복잡한 데이터 파이프라인을 정의.
  • 확장성: Airflow는 다양한 데이터 소스 및 작업 유형과 호환되며, 대규모 데이터 파이프라인 구축 가능.
  • 모니터링 및 알림: Airflow는 실행 중인 작업을 모니터링하고 실패한 작업에 대한 알림을 제공.
  • 커뮤니티 지원: Apache Airflow는 활발한 개발 및 커뮤니티 지원을 받음.

단점

  • 학습 곡선: Airflow를 처음 사용하는 사용자들에게는 학습 곡선이 높을 수 있음. 특히, DAG와 작업의 개념을 이해하는 데 시간이 소요.
  • 설정 및 관리: Airflow를 설정하고 관리하는 데는 일정한 노력이 필요. 특히, 클러스터 환경에서의 설정은 복잡할 수 있음.
  • 자원 사용: Airflow는 서버 또는 클라우드 자원을 사용하여 실행되므로, 대규모 파이프라인을 실행할 때 자원 소비가 증가할 수 있음.
profile
하늘하늘한 하늘

0개의 댓글