패키지 extras 참조

패키지 extras 참조 (Reference for package extras)

고급설치를 하려면 Airflow가 제공하는 다양한 extras를 알아야 해요. Airflow 3부터는 여러 독립적인 배포(distribution) 패키지로 나뉘어 설치되며, 각 패키지마다 선택적으로 설치할 수 있는 extras가 있어요. 이 페이지에서는 Airflow의 공식 배포 패키지들과, 코어/메타/프로바이더/그룹 extras의 전체 목록과 설치 명령을 정리해서 보여드릴게요.

출처: 문서

본문

Airflow 배포 패키지

Airflow 3부터 Airflow는 기존의 providers 위에 여러 독립적이고 격리된 배포 패키지로 분리되었어요. 이 배포 패키지 전반에 걸쳐 의존성도 격리되고 단순화되었죠.

원래의 apache-airflow 배포 패키지와 extras를 통한 설치 방법이 여전히 예전처럼 동작하고, scheduler, webserver, triggerer, worker 역할을 할 수 있는 완전한 Airflow 설치를 제공하지만, 이제 apache-airflow 패키지는 다른 모든 배포 패키지를 설치하는 meta-package에요. 특정 구성 요소를 실행하는 데 필요한 배포 패키지만 설치할 수도 있어요.

다음 배포 패키지를 사용할 수 있어요:

apache-airflow-core Airflow scheduler, webserver, triggerer 코드를 포함하는 핵심 배포 패키지예요. 여러 프로바이더에 걸쳐 Airflow 핵심 시스템의 기능을 향상시키는 선택적 기능을 추가하는 Core extras. 모든 선택적 기능을 함께 설치하는 extras를 그룹화해요.
apache-airflow-task-sdk worker에서 태스크를 실행하는 데 필요한 배포 패키지예요. 선택적 extras 없음
apache-airflow-providers-* Airflow와 외부 시스템, 타사 소프트웨어 및 서비스의 통합을 포함하는 배포 패키지예요. 일반적으로 operators, hooks, sensors, triggers를 제공하고, logging handlers, executors 등 특정 서비스나 시스템에 묶인 다양한 유형의 확장도 제공해요. 각 프로바이더 배포 패키지에는 고유한 선택적 extras가 있을 수 있어요
apache-airflow (필수) apache-airflow-core (항상 apache-airflow와 같은 버전) apache-airflow-task-sdk (최신)을 설치하는 meta-배포-패키지예요. 모든 core extras, extras를 통한 모든 프로바이더 패키지. 이는 Airflow 2의 이전 설치 방법과 하위 호환됩니다. 그룹 extras: all-core - apache-airflow-core 패키지의 모든 extras를 설치하는 extra, all - 모든 core extras와 모든 프로바이더 패키지(선택적 extras 제외)를 설치하는 extra.

위에서 언급했듯이 Airflow에는 설치 시 기능을 추가할 수 있는 선택적 "extras"가 여러 개 있어요. 이 extras는 사용자가 설치를 관리하는 좋은 방법일 뿐만 아니라, Airflow에 기여하려는 기여자가 프로바이더를 통해 선택적 통합(Airflow 통합 포함) 기능을 기여할 때도 유용해요.

다음은 Apache Airflow의 모든 추가 의존성 목록이에요.

코어 Airflow extras

이들은 코어 Airflow의 기능을 확장하는 코어 Airflow extras예요. 프로바이더 패키지를 설치하지 않고, 제공된 패키지에 필요한 python 의존성만 설치해요. 동일한 extras가 airflow-core 패키지 extras로도 사용 가능해요.

extra install command enables
extra install command enables
async pip install 'apache-airflow[async]' Gunicorn용 비동기 worker 클래스
graphviz pip install 'apache-airflow[graphviz]' Dag를 그래픽 출력으로 변환하는 Graphviz 렌더러
kerberos pip install 'apache-airflow[kerberos]' Kerberized 서비스(Hadoop, Presto, Trino)용 Kerberos 통합
memray pip install 'apache-airflow[memray]' memray로 메모리 프로파일링에 필요
otel pip install 'apache-airflow[otel]' OpenTelemetry 메트릭에 필요
sentry pip install 'apache-airflow[sentry]' 애플리케이션 로깅 및 모니터링용 Sentry 서비스
standard pip install apache-airflow[standard]' 표준 hooks 및 operators
statsd pip install 'apache-airflow[statsd]' StatsD 메트릭에 필요

Meta-airflow 패키지 extras

Airflow 3은 여러 패키지로 릴리스돼요. apache-airflow 패키지는 독립형 설치로 Airflow를 실행할 때 다른 모든 패키지를 설치하는 meta-package이며, Airflow 코어 기능을 확장하지는 않지만 Airflow나 일부 프로바이더가 사용할 수 있는 다른 패키지를 설치하려는 사용자에게 유용한 extras도 여러 개 있어요.

extra install command enables
extra install command enables
aiobotocore pip install 'apache-airflow[aiobotocore]' Amazon 통합용 비동기(deferrable) operators 지원
amazon-aws-auth pip install apache-airflow[amazon-aws-auth] Amazon-aws-auth AWS 인증
cloudpickle pip install apache-airflow[cloudpickle] Cloudpickle hooks 및 operators
github-enterprise pip install 'apache-airflow[github-enterprise]' GitHub Enterprise 인증 백엔드
google-auth pip install 'apache-airflow[google-auth]' Google 인증 백엔드
graphviz pip install 'apache-airflow[graphviz]' Dag를 그래픽 출력으로 변환하는 Graphviz 렌더러
gunicorn pip install 'apache-airflow[gunicorn]' API 서버용 롤링 worker 재시작을 지원하는 Gunicorn 서버
ldap pip install 'apache-airflow[ldap]' 사용자용 LDAP 인증
leveldb pip install 'apache-airflow[leveldb]' google 프로바이더에서 leveldb extra를 사용하는 데 필요
pandas pip install 'apache-airflow[pandas]' Airflow와 호환되는 Pandas 라이브러리 설치
polars pip install 'apache-airflow[polars]' Polars hooks 및 operators
rabbitmq pip install 'apache-airflow[rabbitmq]' Celery 백엔드로서 RabbitMQ 지원
s3fs pip install 'apache-airflow[s3fs]' Airflow FS로서 S3 지원
saml pip install 'apache-airflow[saml]' Amazon 프로바이더에서 SAML 인증 지원
uv pip install 'apache-airflow[uv]' uv 설치 - 빠른 Rust 기반 패키지 설치기 (실험적)

프로바이더 extras

이 프로바이더 extras는 단순히 프로바이더를 설치하는 편의 extras예요. 프로바이더 패키지와 필요한 의존성을 단일 명령으로 설치할 수 있어서 PIP가 충돌하는 의존성을 해결할 수 있어요. 이는 설치된 Airflow와 프로바이더 모두에 대해 '유효한' 의존성 버전을 반복해서 설치하려는 첫 설치 시에 매우 유용해요.

예를 들어 아래 명령은 다음을 설치해요:

apache-airflow apache-airflow-core apache-airflow-task-sdk apache-airflow-providers-amazon apache-airflow-providers-google apache-airflow-providers-apache-spark

Airflow 커뮤니티가 3.3.2 버전이 릴리스될 때 제공한 constraint 파일에 기반한 일관된 의존성 집합으로 설치돼요.

pip install apache-airflow[google,amazon,apache-spark]==3.3.2 \
  --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-3.3.2/constraints-3.10.txt"

이렇게 하면 Airflow 3.3.2 릴리스 시점에 릴리스된 버전의 프로바이더가 설치된다는 점에 유의하세요. 나중에 프로바이더의 최신 버전을 사용하려면 수동으로 업그레이드할 수 있어요.

또한 이러한 extras는 apache-airflow 배포 패키지에서만 사용할 수 있어요. Airflow 2에서 그랬던 것처럼 모든 airflow 패키지를 함께 설치하는 편리한 방법이기 때문이에요. airflow-coreairflow-task-sdk를 별도로 설치할 때 프로바이더를 원한다면 apache-airflow-providers-* 배포 패키지로 별도로 설치해야 해요.

Apache 소프트웨어 extras

이들은 다른 Apache 프로젝트와의 통합에 필요한 의존성을 추가하는 extras예요 (apache.atlasapache.webhdfs는 자체 프로바이더가 없다는 점에 유의하세요 - 커스텀 bash/python 프로바이더에서 사용할 수 있는 추가 라이브러리만 설치해요).

extra install command enables
extra install command enables
apache-atlas pip install 'apache-airflow[apache-atlas]' Apache Atlas
apache-beam pip install 'apache-airflow[apache-beam]' Apache Beam operators & hooks
apache-cassandra pip install 'apache-airflow[apache-cassandra]' Cassandra 관련 operators & hooks
apache-drill pip install 'apache-airflow[apache-drill]' Drill 관련 operators & hooks
apache-druid pip install 'apache-airflow[apache-druid]' Druid 관련 operators & hooks
apache-flink pip install 'apache-airflow[apache-flink]' Flink 관련 operators & hooks
apache-hdfs pip install 'apache-airflow[apache-hdfs]' HDFS hooks 및 operators
apache-hive pip install 'apache-airflow[apache-hive]' 모든 Hive 관련 operators
apache-iceberg pip install 'apache-airflow[apache-iceberg]' Apache Iceberg hooks
apache-impala pip install 'apache-airflow[apache-impala]' 모든 Impala 관련 operators & hooks
apache-kafka pip install 'apache-airflow[apache-kafka]' 모든 Kafka 관련 operators & hooks
apache-kylin pip install 'apache-airflow[apache-kylin]' 모든 Kylin 관련 operators & hooks
apache-livy pip install 'apache-airflow[apache-livy]' 모든 Livy 관련 operators, hooks & sensors
apache-pig pip install 'apache-airflow[apache-pig]' 모든 Pig 관련 operators & hooks
apache-pinot pip install 'apache-airflow[apache-pinot]' 모든 Pinot 관련 hooks
apache-spark pip install 'apache-airflow[apache-spark]' 모든 Spark 관련 operators & hooks
apache-tinkerpop pip install apache-airflow[apache-tinkerpop] Apache-tinkerpop hooks 및 operators
apache-webhdfs pip install 'apache-airflow[apache-webhdfs]' HDFS hooks 및 operators

외부 서비스 extras

이들은 외부 서비스(클라우드 기반 또는 온프레미스)와의 통합에 필요한 의존성을 추가하는 extras예요.

extra install command enables
extra install command enables
airbyte pip install 'apache-airflow[airbyte]' Airbyte hooks 및 operators
akeyless pip install 'apache-airflow[akeyless]' Akeyless Vault secrets 및 hooks
alibaba pip install 'apache-airflow[alibaba]' Alibaba Cloud
apprise pip install 'apache-airflow[apprise]' Apprise Notification
amazon pip install 'apache-airflow[amazon]' Amazon Web Services
asana pip install 'apache-airflow[asana]' Asana hooks 및 operators
atlassian-jira pip install 'apache-airflow[atlassian-jira]' Jira hooks 및 operators
microsoft-azure pip install 'apache-airflow[microsoft-azure]' Microsoft Azure
clickhousedb pip install 'apache-airflow[clickhousedb]' ClickHouse hooks 및 operators
cloudant pip install 'apache-airflow[cloudant]' Cloudant hook
cohere pip install 'apache-airflow[cohere]' Cohere hook 및 operators
databricks pip install 'apache-airflow[databricks]' Databricks hooks 및 operators
datadog pip install 'apache-airflow[datadog]' Datadog hooks 및 sensors
dbt-cloud pip install 'apache-airflow[dbt-cloud]' dbt Cloud hooks 및 operators
dingding pip install 'apache-airflow[dingding]' Dingding hooks 및 sensors
discord pip install 'apache-airflow[discord]' Discord hooks 및 sensors
facebook pip install 'apache-airflow[facebook]' Facebook Social
github pip install 'apache-airflow[github]' GitHub operators 및 hook
google pip install 'apache-airflow[google]' Google Cloud
hashicorp pip install 'apache-airflow[hashicorp]' Hashicorp Services (Vault)
openai pip install 'apache-airflow[openai]' Open AI hooks 및 operators
opsgenie pip install 'apache-airflow[opsgenie]' OpsGenie hooks 및 operators
pagerduty pip install 'apache-airflow[pagerduty]' Pagerduty hook
pgvector pip install 'apache-airflow[pgvector]' pgvector operators 및 hook
pinecone pip install 'apache-airflow[pinecone]' Pinecone Operators 및 Hooks
qdrant pip install 'apache-airflow[qdrant]' Qdrant Operators 및 Hooks
salesforce pip install 'apache-airflow[salesforce]' Salesforce hook
sendgrid pip install 'apache-airflow[sendgrid]' sendgrid로 이메일 보내기
segment pip install 'apache-airflow[segment]' Segment hooks 및 sensors
slack pip install 'apache-airflow[slack]' Slack hooks 및 operators
snowflake pip install 'apache-airflow[snowflake]' Snowflake hooks 및 operators
tableau pip install 'apache-airflow[tableau]' Tableau hooks 및 operators
tabular pip install 'apache-airflow[tabular]' Tabular hooks
telegram pip install 'apache-airflow[telegram]' Telegram hooks 및 operators
vertica pip install 'apache-airflow[vertica]' Airflow 백엔드로서 Vertica hook 지원
vespa pip install 'apache-airflow[vespa]' Vespa hooks 및 operators
weaviate pip install 'apache-airflow[weaviate]' Weaviate hook 및 operators
yandex pip install 'apache-airflow[yandex]' Yandex.cloud hooks 및 operators
ydb pip install 'apache-airflow[ydb]' YDB hooks 및 operators
zendesk pip install 'apache-airflow[zendesk]' Zendesk hooks

로컬 설치 소프트웨어 extras

이들은 일반적으로 Airflow 배포의 일부로 설치되는 다른 소프트웨어 패키지와의 통합에 필요한 의존성을 추가하는 extras예요. 이 중 일부는 Airflow가 내장 LocalExecutor 외에 다른 실행자를 사용해 태스크를 실행할 수 있게 해줘요.

extra install command brings enables executors
extra install command brings enables executors
arangodb pip install 'apache-airflow[arangodb]' ArangoDB operators, sensors 및 hook
celery pip install 'apache-airflow[celery]' Celery 의존성 및 sensor CeleryExecutor
cncf-kubernetes pip install 'apache-airflow[cncf-kubernetes]' Kubernetes 클라이언트 라이브러리, KubernetesPodOperator 등 KubernetesExecutor
docker pip install 'apache-airflow[docker]' Docker hooks 및 operators
edge3 pip install 'apache-airflow[edge3]' HTTP를 통해 Edge Workers를 scheduler에 연결 EdgeExecutor
elasticsearch pip install 'apache-airflow[elasticsearch]' Elasticsearch hooks 및 Log Handler
exasol pip install 'apache-airflow[exasol]' Exasol hooks 및 operators
fab pip install 'apache-airflow[fab]' FAB 인증 관리자
git pip install 'apache-airflow[git]' Git bundle 및 hook
github pip install 'apache-airflow[github]' GitHub operators 및 hook
influxdb pip install 'apache-airflow[influxdb]' Influxdb operators 및 hook
ibm-mq pip install 'apache-airflow[ibm-mq]' IBM MQ hook 및 trigger
jenkins pip install 'apache-airflow[jenkins]' Jenkins hooks 및 operators
mongo pip install 'apache-airflow[mongo]' Mongo hooks 및 operators
microsoft-mssql pip install 'apache-airflow[microsoft-mssql]' Microsoft SQL Server operators 및 hook
mysql pip install 'apache-airflow[mysql]' MySQL operators 및 hook
neo4j pip install 'apache-airflow[neo4j]' Neo4j operators 및 hook
odbc pip install 'apache-airflow[odbc]' MS SQL Server를 포함한 ODBC 데이터 소스
openfaas pip install 'apache-airflow[openfaas]' OpenFaaS hooks
oracle pip install 'apache-airflow[oracle]' Oracle hooks 및 operators
postgres pip install 'apache-airflow[postgres]' PostgreSQL operators 및 hook
presto pip install 'apache-airflow[presto]' 모든 Presto 관련 operators & hooks
redis pip install 'apache-airflow[redis]' Redis hooks 및 sensors
samba pip install 'apache-airflow[samba]' Samba hooks 및 operators
singularity pip install 'apache-airflow[singularity]' Singularity 컨테이너 operator
teradata pip install 'apache-airflow[teradata]' Teradata hooks 및 operators
trino pip install 'apache-airflow[trino]' 모든 Trino 관련 operators & hooks

기타 extras

이들은 일반적으로 표준 프로토콜을 통해 외부 시스템과의 통합을 지원하는 extras예요.

Preinstalled 열에 *가 있는 항목은 Airflow가 설치될 때 항상 미리 설치되는 extras(프로바이더)를 나타내요.

extra install command enables Preinstalled
extra install command enables Preinstalled
common-ai pip install 'apache-airflow[common-ai]' Common AI Operators 및 Hooks
common-compat pip install 'apache-airflow[common-compat]' 이전 Airflow용 호환 코드
common-io pip install 'apache-airflow[common-io]' Core IO Operators
common-messaging pip install 'apache-airflow[common-messaging]' Core Messaging Operators
common-sql pip install 'apache-airflow[common-sql]' Core SQL Operators
ftp pip install 'apache-airflow[ftp]' FTP hooks 및 operators
grpc pip install 'apache-airflow[grpc]' Grpc hooks 및 operators
http pip install 'apache-airflow[http]' HTTP hooks, operators 및 sensors
imap pip install 'apache-airflow[imap]' IMAP hooks 및 sensors
jdbc pip install 'apache-airflow[jdbc]' JDBC hooks 및 operators
keycloak pip install apache-airflow[keycloak] Keycloak hooks 및 operators
microsoft-psrp pip install 'apache-airflow[microsoft-psrp]' PSRP hooks 및 operators
microsoft-winrm pip install 'apache-airflow[microsoft-winrm]' WinRM hooks 및 operators
openlineage pip install 'apache-airflow[openlineage]' OpenLineage 이벤트 보내기
opensearch pip install 'apache-airflow[opensearch]' Opensearch hooks 및 operators
papermill pip install 'apache-airflow[papermill]' Papermill hooks 및 operators
sftp pip install 'apache-airflow[sftp]' SFTP hooks, operators 및 sensors
smtp pip install 'apache-airflow[smtp]' SMTP hooks 및 operators
sqlite pip install 'apache-airflow[sqlite]' SQLite hooks 및 operators
ssh pip install 'apache-airflow[ssh]' SSH hooks 및 operators
informatica pip install 'apache-airflow[informatica]' Informatica hooks 및 operators

그룹 extras

그룹 extras는 편의 extras예요. 이러한 extra는 많은 선택적 의존성을 함께 설치해요. 프로덕션에서 사용하는 것은 권장되지 않지만, CI, 개발 및 테스트 목적으로는 유용해요.

extra install command enables
extra install command enables
all pip install apache-airflow[all] 모든 프로바이더를 포함한 모든 선택적 의존성
all-core pip install apache-airflow[all-core] 모든 선택적 코어 의존성
all-task-sdk pip install apache-airflow[all-task-sdk] 모든 선택적 task SDK 의존성

더 알아보기 (Learn more)