Airflow란
Apache Airflow는 배치 지향적 워크플로우의 개발, 스케쥴링, 모니터링을 지원하는 오픈 소스 플랫폼이다.
Airflow 특징
- Dynamic : 파이썬 코드로 구성되어 있어 동적 파이프라인 생성을 가능하게 합니다.
- Extensible : 다양한 기술과 연결할 수 있는 operator가 포함되어 있다. 모든 Airflow 컴포넌트들은 확장이 가능하여 다양한 환경에 쉽게 할 수 있습니다.
- Flexible : 워크플로우 매개변수화는 Jinja 템플릿 엔진을 활용하여 내장되어 있습니다.
Airflow 를 사용해야 하는 이유
Airflow®는 배치 워크플로우 오케스트레이션 플랫폼입니다. Airflow 프레임워크는 여러 기술과 연결할 수 있는 연산자를 포함하고 있으며, 새로운 기술과 연결하기 위해 쉽게 확장할 수 있습니다. 워크플로우에 명확한 시작과 끝이 있고 정기적으로 실행된다면, Airflow DAG로 프로그래밍할 수 있습니다.
워크플로우는 파이썬 코드로 정의되며, 이는 다음을 의미합니다:
- 버전 관리에 저장할 수 있어 롤백이 가능합니다.
- 여러 사람이 동시에 개발할 수 있습니다.
- 기능을 검증하기 위해 테스트를 작성할 수 있습니다.
- 구성 요소는 확장 가능하며 기존 구성 요소의 광범위한 컬렉션을 기반으로 구축할 수 있습니다.
Airflow 설치 방법
- pip 설치 방법
- 제약사항 추가하는 방법은 일반적으로 사용하는 방법.
- 제약사항이 필요한 이유는 Airflow가 라이브러리면서 애플리케이션입니다. 보통 버전 의존도는 라이브러리는 열려있고 애플리케이션은 열려있다. Airflow는 열려있는데 이 때문에 때떄로 설치 코드가 작동하지 않거나 사용 불가능한 Airflow가 설치될 수 있습니다. - 제약사항이 없는 방법은 필요에따라 업(다운)그레이드가 가능.
- 제약사항 추가하는 방법은 일반적으로 사용하는 방법.
pip install "apache-airflow[celery]==2.10.2" --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.10.2/constraints-3.8.txt"
# 제약사항 추가
pip install "apache-airflow==2.10.2" apache-airflow-providers-google==10.1.0
# 제약사항 X
- Docker 설치 방법
- Docker Hub에서 Apache에서 공식으로 제공되는 Docker Image가 있습니다.
docker pull apache/airflow
https://airflow.apache.org/docs/apache-airflow/stable/index.html
What is Airflow®? — Airflow Documentation
airflow.apache.org
'Data Engineering > Airflow' 카테고리의 다른 글
Airflow DAGs (1) | 2024.10.29 |
---|---|
Airflow Architecture (0) | 2024.10.25 |