(1) Provider
- 한마디로, Airflow 추가 기능 플러그인
- Airflow의 Core 기능 외에, 외부 서비스(AWS, GCP, Postgres, Docker 등)와 연결하기 위한 기능을 담은 독립 플러그인 패키지
- Airflow의 Core 부분은 Task, DAG, 스케줄 관리, 실행만을 담당하며, 그 외의 기능은 Provider로 독립시킴
- Airflow 1.0 시절에는 하나의 패키지에 모두 포함되었으나, 너무 무거워서 각 서비스별 별도 패키지(Provider)로 분리됨
- 특정 기능을 추가하기 위해 사용하는 ‘설치 옵션 키워드’
pip 를 이용해 Airflow Core 외의 기능과 그에 대한 의존성까지 한꺼번에 설치하도록 함
[ ] 안에 넣는 이름을 지칭하며, 보통 편의를 위해 짧고 직관적인 별칭으로 명명한다.
1
| pip install "apache-airflow[google]"
|
- Extras는
pip 명령어와 []를 이용해 특정 기능을 위한 1개 이상의 의존성을 함께 설치하는 편의 기능
- Provider는 Airflow와 외부 서비스를 연결하는 기능을 제공하는 패키지
- Extras를 통해 특정 기능 묶음을 설치할 때, 필요시 Provider 패키지가 포함될 수 있음
| 매핑 관계 |
설명 |
| 1대1 매핑 |
특정 Extra를 호출하면 대응하는 Provider 하나가 설치 |
| 번들(묶음)매핑 |
하나의 Extra 키워드가 여러 개의 Provider나 라이브러리를 포함하는 경우 |
| Core 기능 확장 |
모든 Extra가 Provider를 설치하는 것은 아님. Airflow 자체의 기능을 확장하는 경우도 있음. |
- Apache에서는 Airflow의 Extras를 아래와 같이 분류하고 있음
- 2026.03.28 기준
| 종류 |
설명 |
| Core Airflow extras |
Airflow 핵심 기능을 확장하는 Airflow 추가 기능 |
| Meta-airflow package extras |
여러 기능을 한꺼번에 편하게 설치하고 싶을 때 사용 |
| Providers extras |
Provider를 간편하게 설치할 수 있는 기능 |
- Provider Extras의 하위 종류는 아래와 같음
- 2026.03.28 기준
| 종류 |
설명 |
| Apache Software extras |
다른 Apache 프로젝트와의 통합에 필요한 종속성을 추가하는 추가 기능 |
| External Services extras |
외부 서비스(클라우드 기반 또는 온프레미스)와의 통합에 필요한 종속성을 추가하는 추가 기능 |
| Locally installed software extras |
Airflow 배포 시 일반적으로 설치되는 다른 소프트웨어 패키지와의 통합에 필요한 종속성을 추가 |
| Other extras |
일반적으로 표준 프로토콜을 통해 외부 시스템과의 통합을 지원하는 기능 |
(6) Provider 목록
- Provider 목록 및 설치 방법은 Apache Airflow Doc을 참고
https://airflow.apache.org/docs/apache-airflow/stable/extra-packages-ref.html#external-services-extras
Reference
https://airflow.apache.org/docs/apache-airflow/stable/extra-packages-ref.html
Comments