包扩展参考

Airflow 有许多可选的“扩展”,您可以在安装 Airflow 时使用它们来向您的安装添加功能。这些扩展是用户管理其安装的好方法,而且对于 Airflow 的贡献者来说,当他们想通过提供者贡献一些功能(包括 Airflow 的可选集成)时也很有用。

警告

传统上,在 Airflow 中,一些扩展使用 ._ 来分隔扩展名称的各个部分。这不是 PEP-685 规范化的名称,我们选择将其更改为 - 用于我们所有的扩展,期望 PEP-685 将由 pip 和其他工具完全实现,我们将我们所有的扩展更改为使用 - 作为分隔符,即使在某些情况下它会引入警告(这些警告是无害的)。这是一种面向未来的方法。如果您在扩展中使用 _.,它也完全向后兼容,但我们建议将来使用 - 作为分隔符。

以下是 Apache Airflow 的所有额外依赖项的列表。

核心 Airflow 扩展

这些是核心 Airflow 扩展,可扩展核心 Airflow 的功能。它们通常不安装提供程序包(除了 celerycncf.kubernetes 扩展),它们只是为提供的包安装必要的 python 依赖项。

扩展

安装命令

启用

aiobotocore

pip install 'apache-airflow[aiobotocore]'

支持 Amazon 集成的异步(可延迟)运算符

async

pip install 'apache-airflow[async]'

Gunicorn 的异步工作类

cgroups

pip install 'apache-airflow[cgroups]'

使用 CgroupTaskRunner 所需

deprecated-api

pip install 'apache-airflow[deprecated-api]'

已弃用的实验性 API,已替换为新的 REST API

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 渲染器

kerberos

pip install 'apache-airflow[kerberos]'

用于 Kerberized 服务(Hadoop、Presto、Trino)的 Kerberos 集成

ldap

pip install 'apache-airflow[ldap]'

用户的 LDAP 身份验证

leveldb

pip install 'apache-airflow[leveldb]'

在 google 提供程序中使用 leveldb 扩展所需

otel

pip install 'apache-airflow[otel]'

OpenTelemetry 指标所需

pandas

pip install 'apache-airflow[pandas]'

安装与 Airflow 兼容的 Pandas 库

password

pip install 'apache-airflow[password]'

用户的密码身份验证

pydantic

pip install 'apache-airflow[pydantic]'

内部 API 的 Pydantic 序列化

rabbitmq

pip install 'apache-airflow[rabbitmq]'

支持 RabbitMQ 作为 Celery 后端

sentry

pip install 'apache-airflow[sentry]'

用于应用程序日志记录和监控的 Sentry 服务

s3fs

pip install 'apache-airflow[s3fs]'

支持 S3 作为 Airflow FS

saml

pip install 'apache-airflow[saml]'

支持 Airflow 中的 SAML 身份验证

statsd

pip install 'apache-airflow[statsd]'

StatsD 指标所需

uv

pip install 'apache-airflow[uv]'

安装 uv - 基于 Rust 的快速包安装程序(实验性)

virtualenv

pip install 'apache-airflow[virtualenv]'

在本地 virtualenv 中运行 python 任务

cloudpickle

pip install apache-airflow[cloudpickle]

Cloudpickle 钩子和操作符

提供者扩展

这些提供者扩展只是为了方便安装提供者包,以便您可以使用简单的命令安装提供者 - 包括提供者包和单个命令中的必要依赖项,这允许 PIP 解析任何冲突的依赖项。这对于首次安装非常有用,您希望重复安装对 airflow 和已安装提供者都“有效”的依赖项版本。

例如,以下命令将安装

  • apache-airflow

  • apache-airflow-providers-amazon

  • apache-airflow-providers-google

  • apache-airflow-providers-apache-spark

使用基于 Airflow 社区在 2.10.4 版本发布时提供的约束文件的一致依赖项集。

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

请注意,这将安装在 Airflow 2.10.4 版本发布时发布的提供程序版本。如果您想使用最新版本的提供程序,您可以在以后手动升级这些提供程序。

Apache 软件扩展

这些扩展添加了与其他 Apache 项目集成所需的依赖项(请注意,apache.atlasapache.webhdfs 没有自己的提供程序 - 它们只安装可以在自定义 bash/python 提供程序中使用的其他库)。

扩展

安装命令

启用

apache-atlas

pip install 'apache-airflow[apache-atlas]'

Apache Atlas

apache-beam

pip install 'apache-airflow[apache-beam]'

Apache Beam 操作符和钩子

apache-cassandra

pip install 'apache-airflow[apache-cassandra]'

Cassandra 相关操作符和钩子

apache-drill

pip install 'apache-airflow[apache-drill]'

Drill 相关操作符和钩子

apache-druid

pip install 'apache-airflow[apache-druid]'

Druid 相关操作符和钩子

apache-flink

pip install 'apache-airflow[apache-flink]'

Flink 相关操作符和钩子

apache-hdfs

pip install 'apache-airflow[apache-hdfs]'

HDFS 钩子和操作符

apache-hive

pip install 'apache-airflow[apache-hive]'

所有 Hive 相关操作符

apache-iceberg

pip install 'apache-airflow[apache-iceberg]'

Apache Iceberg 钩子

apache-impala

pip install 'apache-airflow[apache-impala]'

所有 Impala 相关操作符和钩子

apache-kafka

pip install 'apache-airflow[apache-kafka]'

所有 Kafka 相关操作符和钩子

apache-kylin

pip install 'apache-airflow[apache-kylin]'

所有 Kylin 相关操作符和钩子

apache-livy

pip install 'apache-airflow[apache-livy]'

所有 Livy 相关操作符、钩子和传感器

apache-pig

pip install 'apache-airflow[apache-pig]'

所有 Pig 相关操作符和钩子

apache-pinot

pip install 'apache-airflow[apache-pinot]'

所有 Pinot 相关钩子

apache-spark

pip install 'apache-airflow[apache-spark]'

所有 Spark 相关操作符和钩子

apache-webhdfs

pip install 'apache-airflow[apache-webhdfs]'

HDFS 钩子和操作符

外部服务扩展

这些是添加与外部服务(基于云或本地)集成所需的依赖项的扩展。

扩展

安装命令

启用

airbyte

pip install 'apache-airflow[airbyte]'

Airbyte 钩子和操作符

alibaba

pip install 'apache-airflow[alibaba]'

阿里云

apprise

pip install 'apache-airflow[apprise]'

Apprise 通知

amazon

pip install 'apache-airflow[amazon]'

亚马逊网络服务

asana

pip install 'apache-airflow[asana]'

Asana 钩子和操作符

atlassian-jira

pip install 'apache-airflow[atlassian-jira]'

Jira 钩子和操作符

microsoft-azure

pip install 'apache-airflow[microsoft-azure]'

微软 Azure

cloudant

pip install 'apache-airflow[cloudant]'

Cloudant 钩子

cohere

pip install 'apache-airflow[cohere]'

Cohere 钩子和操作符

databricks

pip install 'apache-airflow[databricks]'

Databricks 钩子和操作符

datadog

pip install 'apache-airflow[datadog]'

Datadog 钩子和传感器

dbt-cloud

pip install 'apache-airflow[dbt-cloud]'

dbt Cloud 钩子和操作符

dingding

pip install 'apache-airflow[dingding]'

钉钉钩子和传感器

discord

pip install 'apache-airflow[discord]'

Discord 钩子和传感器

facebook

pip install 'apache-airflow[facebook]'

Facebook 社交

github

pip install 'apache-airflow[github]'

GitHub 操作符和钩子

google

pip install 'apache-airflow[google]'

Google 云

hashicorp

pip install 'apache-airflow[hashicorp]'

Hashicorp 服务 (Vault)

openai

pip install 'apache-airflow[openai]'

Open AI 钩子和操作符

opsgenie

pip install 'apache-airflow[opsgenie]'

OpsGenie 钩子和操作符

pagerduty

pip install 'apache-airflow[pagerduty]'

Pagerduty 钩子

pgvector

pip install 'apache-airflow[pgvector]'

pgvector 操作符和钩子

pinecone

pip install 'apache-airflow[pinecone]'

Pinecone 操作符和钩子

qdrant

pip install 'apache-airflow[qdrant]'

Qdrant 操作符和钩子

salesforce

pip install 'apache-airflow[salesforce]'

Salesforce 钩子

sendgrid

pip install 'apache-airflow[sendgrid]'

使用 sendgrid 发送电子邮件

segment

pip install 'apache-airflow[segment]'

Segment 钩子和传感器

slack

pip install 'apache-airflow[slack]'

Slack 钩子和操作符

snowflake

pip install 'apache-airflow[snowflake]'

Snowflake 钩子和操作符

tableau

pip install 'apache-airflow[tableau]'

Tableau 钩子和操作符

tabular

pip install 'apache-airflow[tabular]'

Tabular 钩子

telegram

pip install 'apache-airflow[telegram]'

Telegram 钩子和操作符

vertica

pip install 'apache-airflow[vertica]'

Vertica 钩子支持作为 Airflow 后端

weaviate

pip install 'apache-airflow[weaviate]'

Weaviate 钩子和操作符

yandex

pip install 'apache-airflow[yandex]'

Yandex.cloud 钩子和操作符

ydb

pip install 'apache-airflow[ydb]'

YDB 钩子和操作符

zendesk

pip install 'apache-airflow[zendesk]'

Zendesk 钩子

本地安装的软件扩展

这些扩展添加了与其他软件集成所需的依赖项,这些软件通常作为 Airflow 部署的一部分安装。其中一些使 Airflow 能够使用执行器来运行任务 - 而不是通过内置的 LocalExecutor。

扩展

安装命令

带来

启用执行器

arangodb

pip install 'apache-airflow[arangodb]'

ArangoDB 操作符、传感器和钩子

celery

pip install 'apache-airflow[celery]'

Celery 依赖项和传感器

CeleryExecutor, CeleryKubernetesExecutor

cncf-kubernetes

pip install 'apache-airflow[cncf-kubernetes]'

Kubernetes 客户端库,KubernetesPodOperator & friends

KubernetesExecutor, LocalKubernetesExecutor

docker

pip install 'apache-airflow[docker]'

Docker 钩子和操作符

elasticsearch

pip install 'apache-airflow[elasticsearch]'

Elasticsearch 钩子和日志处理程序

exasol

pip install 'apache-airflow[exasol]'

Exasol 钩子和操作符

fab

pip install 'apache-airflow[fab]'

FAB 身份验证管理器

github

pip install 'apache-airflow[github]'

GitHub 操作符和钩子

influxdb

pip install 'apache-airflow[influxdb]'

Influxdb 操作符和钩子

jenkins

pip install 'apache-airflow[jenkins]'

Jenkins 钩子和操作符

mongo

pip install 'apache-airflow[mongo]'

Mongo 钩子和操作符

microsoft-mssql

pip install 'apache-airflow[microsoft-mssql]'

Microsoft SQL Server 操作符和钩子。

mysql

pip install 'apache-airflow[mysql]'

MySQL 操作符和钩子

neo4j

pip install 'apache-airflow[neo4j]'

Neo4j 操作符和钩子

odbc

pip install 'apache-airflow[odbc]'

包括 MS SQL Server 的 ODBC 数据源

openfaas

pip install 'apache-airflow[openfaas]'

OpenFaaS 钩子

oracle

pip install 'apache-airflow[oracle]'

Oracle 钩子和操作符

postgres

pip install 'apache-airflow[postgres]'

PostgreSQL 操作符和钩子

presto

pip install 'apache-airflow[presto]'

所有 Presto 相关操作符和钩子

redis

pip install 'apache-airflow[redis]'

Redis 钩子和传感器

samba

pip install 'apache-airflow[samba]'

Samba 钩子和操作符

singularity

pip install 'apache-airflow[singularity]'

Singularity 容器操作符

teradata

pip install 'apache-airflow[teradata]'

Teradata 钩子和操作符

trino

pip install 'apache-airflow[trino]'

所有 Trino 相关操作符和钩子

其他扩展

这些是额外的功能,通过一些 - 通常 - 标准协议为与外部系统集成提供支持。

Preinstalled 列中带有 * 的条目表示这些扩展(提供程序)在安装 Airflow 时始终预先安装。

扩展

安装命令

启用

预安装

common-compat

pip install 'apache-airflow[common-compat]'

旧 Airflow 的兼容性代码

common-io

pip install 'apache-airflow[common-io]'

核心 IO 操作符

common-sql

pip install 'apache-airflow[common-sql]'

核心 SQL 操作符

ftp

pip install 'apache-airflow[ftp]'

FTP 钩子和操作符

grpc

pip install 'apache-airflow[grpc]'

Grpc 钩子和操作符

http

pip install 'apache-airflow[http]'

HTTP 钩子、操作符和传感器

imap

pip install 'apache-airflow[imap]'

IMAP 钩子和传感器

jdbc

pip install 'apache-airflow[jdbc]'

JDBC 钩子和操作符

microsoft-psrp

pip install 'apache-airflow[microsoft-psrp]'

PSRP 钩子和操作符

microsoft-winrm

pip install 'apache-airflow[microsoft-winrm]'

WinRM 钩子和操作符

openlineage

pip install 'apache-airflow[openlineage]'

发送 OpenLineage 事件

opensearch

pip install 'apache-airflow[opensearch]'

Opensearch 钩子和操作符

papermill

pip install 'apache-airflow[papermill]'

Papermill 钩子和操作符

sftp

pip install 'apache-airflow[sftp]'

SFTP 钩子、操作符和传感器

smtp

pip install 'apache-airflow[smtp]'

SMTP 钩子和操作符

sqlite

pip install 'apache-airflow[sqlite]'

SQLite 钩子和操作符

ssh

pip install 'apache-airflow[ssh]'

SSH 钩子和操作符

生产捆绑扩展

这些是作为捆绑包安装一个或多个扩展的扩展。

扩展

安装命令

启用

all

pip install 'apache-airflow[all]'

所有 Airflow 用户面向的功能(没有开发和文档要求)

all-core

pip install 'apache-airflow[all-core]'

所有不需要安装提供程序的核心 airflow 功能

all-dbs

pip install 'apache-airflow[all-dbs]'

所有数据库集成

开发扩展

devel 扩展仅在可编辑模式下才有意义。Airflow 的用户不应使用它们,除非他们开始回馈并从源代码安装 airflow。这些扩展仅在 Airflow 从源代码以可编辑模式安装时才可用 (pip install -e .[devel,EXTRAS])。

Devel 扩展

devel 扩展不会为 Airflow 的功能安装依赖项,而是添加开发 Airflow 所需的功能,例如运行测试、静态检查。

扩展

安装命令

启用

devel-debuggers

pip install -e ‘.[devel-debuggers]’

添加测试调试器所需的所有测试库

devel-devscripts

pip install -e ‘.[devel-devscripts]’

添加测试开发脚本所需的所有测试库

devel-duckdb

pip install -e ‘.[devel-duckdb]’

添加测试 duckdb 所需的所有测试库

devel-iceberg

pip install -e ‘.[devel-iceberg]’

添加测试 iceberg 所需的所有测试库

devel-mypy

pip install -e ‘.[devel-mypy]’

添加测试 mypy 所需的所有测试库

devel-sentry

pip install -e ‘.[devel-sentry]’

添加测试 sentry 所需的所有测试库

devel-static-checks

pip install -e ‘.[devel-static-checks]’

添加测试 static_checks 所需的所有测试库

devel-tests

pip install -e ‘.[devel-tests]’

添加测试测试所需的所有测试库

捆绑开发扩展

这些扩展将开发、可编辑和文档扩展捆绑在一起,以便于在单个安装中将它们一起安装。某些扩展在某些系统(如 ARM MacBook)上更难安装,因为它们需要安装系统级依赖项。

请注意,pip install -e ".[devel]" 应该至少运行一次,第一次初始化可编辑环境时,以便获得包含单元测试所需常用工具和依赖项的最小、完整的测试环境。

扩展

安装命令

启用

devel

pip install -e '.[devel]'

最小开发依赖项 - 最小、完整的测试环境

devel-hadoop

pip install -e '.[devel-hadoop]'

添加 Hadoop 堆栈库 devel 依赖项

devel-all-dbs

pip install -e '.[devel-all-dbs]'

添加测试数据库提供程序所需的所有库

devel-all

pip install -e '.[devel-all]'

开发所需的一切,包括 Hadoop、所有 devel 附加功能、所有 doc 附加功能。一般而言:除了提供程序之外的所有可能的依赖项

devel-ci

pip install -e '.[devel-ci]'

CI 测试所需的所有依赖项(与 devel-all 相同)

文档附加功能

这些是为 Airflow 生成文档所需的附加功能。这仅用于开发时。

扩展

安装命令

启用

doc

pip install -e '.[doc]'

构建文档所需的软件包(包含在 devel 中)

doc-gen

pip install -e '.[doc-gen]'

生成实体关系图所需的软件包(包含在 devel-all 中)

已弃用的 1.10 附加功能

这些是在 2.0 中已弃用,并将在 Airflow 3.0.0 中删除的附加功能。它们都被新的附加功能取代,这些附加功能的命名与提供程序软件包的名称一致。

不再需要 crypto 附加功能,因为所有加密依赖项都是 airflow 软件包的一部分,因此没有 crypto 附加功能的替代品。

已弃用的附加功能

要使用的替代附加功能

atlas

apache-atlas

aws

amazon

azure

microsoft-azure

cassandra

apache-cassandra

crypto

druid

apache-druid

gcp

google

gcp-api

google

hdfs

apache-hdfs

hive

apache-hive

kubernetes

cncf-kubernetes

mssql

microsoft-mssql

pinot

apache-pinot

s3

amazon

spark

apache-spark

webhdfs

apache-webhdfs

winrm

microsoft-winrm

此条目是否有帮助?