Airflow 用户调查 2022

今年的调查已经结束,我们为大家准备了一批全新的数据!两周内我们收集了 210 份回复。过去两年中,贡献和下载量持续增长,我们预计该趋势将在 2022 年继续。

原始回复数据将在此处很快提供,在此期间,欢迎发送电子邮件至 john.thomas@astronomer.io 索取副本。

TL;DR

用户概览

  • 像往年一样,超过一半的 Airflow 用户是数据工程师(54%)。解决方案架构师(13%)、开发者(12%)、DevOps(6%)和数据科学家(4%)也是活跃的 Airflow 用户!与 20202019 的结果相比,解决方案架构师的比例略有上升。
  • Airflow 在大公司中使用且受欢迎,64% 的 Airflow 用户在拥有 200 名以上员工的公司工作,这比 2020 增加了 11% 。
  • 62% 的调查参与者所在公司拥有超过 6 位 Airflow 用户。
  • 更多的 Airflow 用户(65.9%)愿意推荐 Apache Airflow,相较于 20202019 的调查结果。推荐意愿整体呈正向趋势,93% 的受访 Airflow 用户愿意推荐 Airflow(2019 为 85.7%,2020 为 92%),只有 1% 的用户不太可能推荐(2019 为 3.6%,2020 为 3.5%)。
  • Airflow 文档是关键信息来源,超过 90%(比 2020 增加 15%)的调查参与者使用文档。Airflow 文档也是最需要改进的领域之一!有趣的是,Stack Overflow 的使用也很关键,约 60% 的用户声明使用它获取信息(比 2020 增加 24%)。

部署

  • 85% 的 Airflow 用户拥有 1 到 7 个活跃的 Airflow 实例。62.5% 的 Airflow 用户在其最大的 Airflow 实例中拥有 11 到 250 个 DAG。75% 的受访 Airflow 用户每个 DAG 包含 1 到 100 个任务。
  • 接近 85% 的用户使用 Airflow 2 的某个版本,9.2% 的用户仍在使用 1.10.15,剩余 6.3% 仍使用早期的 Airflow 1 版本。好消息是,大多数仍在使用 Airflow 1 的用户计划很快迁移到 Airflow 2,资源和容量是主要阻碍因素。
  • 2020 的结果相比,更多用户对监控感兴趣,尤其是使用外部监控服务(40.7%,从 29.6% 上升)和元数据库信息(35.7%,从 25.1% 上升)。
  • Celery(52.7%)和 Kubernetes(39.4%)是最常用的执行器。

使用方法

  • 81.3% 的受访 Airflow 用户没有对 Airflow 进行任何定制。
  • Xcom(69.8%)是最受欢迎的任务间输入输出传递方式,然而从存储中保存和检索输入输出仍然发挥重要作用(49%)。
  • 血缘本身是 Airflow 用户的一个相对新话题,大多数人不使用血缘解决方案,但如果 Airflow 支持可能感兴趣(47.5%),不熟悉数据血缘(29%)或数据血缘不是他们关心的(13%)。
  • Airflow Web UI 被大量用于运行监控(95.9%)、访问任务日志(89.8%)、手动触发 DAG(85.2%)、清除任务(82.7%)和将任务标记为成功(60.7%)。最常使用的三种视图是:DAG 列表、任务日志和 DAG 运行,这与 20202019 的结果非常相似。

社区与贡献

  • 大多数 Airflow 用户(57.1%)知道可以贡献却没有贡献,另外 21.7% 极少贡献。14.8% 的用户并不知道可以贡献。要让社区更加活跃,提升目前 6.4% 的积极贡献者比例还有很多工作要做,尤其考虑到贡献的一个重要阻碍是缺乏如何开始的知识(37.7%)。

Airflow 的未来

  • 最需要改进的领域仍是 Airflow Web UI(49.5%),紧随其后的是用于日志、监控和告警的遥测(48%)。然而所有这些努力都应与改进文档(36.6%)和关于使用 Airflow 的资源(36.6%)相结合,尤其考虑到新用户入门的需求(36.6%)。
  • DAG 版本管理(66.2%)是新特性中最受欢迎的,毫不奇怪,因为这可以积极影响 Airflow 用户的日常工作。其次是三项想法:依赖管理和数据驱动调度(42.6%),更动态的任务结构(42.1%)以及多租户(37.9%)。

用户概览

以下哪项最能描述您当前的职业?(单选)

alt_text

否。 %
数据工程师 114 54%
解决方案架构师 27 13%
开发者 25 12%
DevOps 12 6%
数据科学家 8 4%
支持工程师 5 2%
数据分析师 3 1%
业务分析师 2 1%
其他 14 7%

根据调查,超过一半的 Airflow 用户是数据工程师(54%)。其余用户的角色可分为解决方案架构师(13%)、开发者(12%)、DevOps(6%)和数据科学家(4%)。2022 年的结果与 20192020 相似,解决方案架构师的比例略有增加。

您与 Airflow 的互动频率是?(单选)

alt_text

否。 %
每天 154 73%
至少每周一次 36 17%
至少每月一次 11 5%
每月少于一次 9 4%

参与调查的用户在其当前角色中积极使用 Airflow。73% 的受访 Airflow 用户每天使用,17% 每周使用一次。

贵公司有多少人?(单选)

alt_text

否。 %
201-5000 85 41%
5000+ 49 23%
51-200 46 22%
11-50 20 10%
1-10 9 4%

Airflow 是在大公司中使用且受欢迎的框架,64% 的受访 Airflow 用户(2020 为 52.7%)在员工数超过 200 的公司工作(41% 在 201‑5000 人的公司,23% 在 5000+ 人的公司)。

贵公司有多少人使用 Airflow?(单选)

alt_text

否。 %
6-20 80 38%
1-5 61 29%
51-200 49 24%
200+ 18 9%

Airflow 通常由中小团队使用。62% 的调查参与者公司中有超过 6 位 Airflow 用户(38% 为 6‑200 人,24% 为 51‑200 人)。

您有多大可能推荐 Apache Airflow?(单选)

% 2019 % 2020 % 2022
非常可能 45.4% 61.6% 65.9%
可能 40.3% 30.4% 26.9%
中立 10.7% 5.4% 6.3%
不太可能 2.6% 1.5% 0.5%
非常不可能 1% 1% 0.5%

根据调查,更多的 Airflow 用户(65.9%)愿意推荐 Apache Airflow,相较于 20202019 的调查结果。推荐意愿整体呈正向趋势,93% 的受访 Airflow 用户愿意推荐(2020 为 92%,2019 为 85.7%),仅 1% 的用户不太可能推荐(2019 为 3.6%,2020 为 3.5%)。

您获取 Airflow 信息的渠道是什么?(多选)

否。 %
文档 189 90.4%
Airflow 网站(博客等) 142 67.9%
Stack Overflow 126 60.3%
GitHub Issues 104 49.8%
Slack 96 45.9%
Airflow Summit 视频 88 42.1%
GitHub Discussions 76 36.4%
Airflow 社区网络研讨会 41 19.6%
Astronomer 注册表 51 24.4%
Airflow 邮件列表 34 16.3%

Airflow 文档是关键的信息来源,超过 90% 的调查参与者使用文档。相较于 2020(约 75%)重要性提升。此外,超过 60% 的用户从 Airflow 网站(67.9%)和 Stack Overflow(60.3%)获取信息,这也比 2020 的 36% 有显著增长。值得注意的是,Slack 使用率从 2020 的 63.05% 下降到 2022 年的 45.9%。

部署

您在最大的 Airflow 实例中有多少活跃的 DAG?(单选)

alt_text

否。 %
51-250 66 31.7%
11-50 64 30.8%
5-10 25 12.0%
251-500 20 9.6%
<5 14 6.7%
1000+ 10 4.8%
501-1000 9 4.3%

62.5% 的受访 Airflow 用户在其最大的 Airflow 实例中拥有 11 到 250 个 DAG。

您有多少活跃的 Airflow 实例?(单选)

alt_text

否。 %
1 52 25.2%
2 46 22.3%
4-7 40 19.4%
3 37 18.0%
20+ 19 9.2%
8-10 7 3.4%
11-20 5 2.4%

85% 的受访 Airflow 用户拥有 1 到 7 个活跃实例,近 50% 仅有 1 或 2 个。

您在单个 DAG 中使用的最大任务数是多少?(单选)

alt_text

否。 %
11-25 51 24.5%
26-50 41 19.7%
51-100 35 16.8%
<10 29 13.9%
101-250 23 11.1%
501-1000 9 4.3%
1000-2500 8 3.8%
251-500 8 3.8%
2500-5000 4 1.9%

75% 的受访 Airflow 用户每个 DAG 包含 1 到 100 个任务。

您在最大的 Airflow 实例中有多少调度器?(单选)

alt_text

否。 %
1 113 55.1%
2 61 29.8%
3 18 8.8%
4+ 13 6.3%

超过一半的受访 Airflow 用户在其最大的实例中只有 1 个调度器,然而值得注意的是另一半的用户选择了 2 个及以上调度器。

您使用哪种执行器类型?(多选)

否。 %
Celery 107 52.7 %
Kubernetes 80 39.4%
Local(本地) 49 24.1%
Sequential(顺序) 21 10.3%
CeleryKubernetes 14 6.9%

Celery(52.7%)和 Kubernetes(39.4%)是最常用的执行器。CeleryKubernetes(6.9%)执行器也开始被用户注意并使用。

如果您使用 Celery 执行器,您在最大的 Airflow 实例中有多少个 worker?(单选)

alt_text

否。 %
2-5 64 44.8%
10+ 28 19.6%
1 26 18.2%
6-10 25 17.5%

在使用 Celery 执行器的受访者中,接近一半(44.8%)在其最大的实例中拥有 2 到 5 个 worker。值得注意的是,近五分之一(19.6%)拥有超过 10 个 worker。

您当前使用的 Airflow 版本是?(单选)

alt_text

否。 %
1.10.14 或更早版本 13 6.3%
1.10.15 19 9.2%
2.0.x 23 11.1%
2.1.x 24 11.6%
2.2.x 79 38.2%
2.3.x 49 23.7%

看到接近 85% 的受访者使用 Airflow 2 的某个版本,9.2% 的用户仍在使用 1.10.15,剩余 6.3% 仍使用更旧的 Airflow 1.10 版本,值得欣慰。

好消息是,大多数仍在使用 Airflow 1 的用户计划很快迁移到 Airflow 2,只是目前他们认为资源受限,难以进行如此重大的工作。然而,调查评论中也显示部分用户对迁移到 Airflow 2 持怀疑态度,对新调度器或与 helm chart 的兼容性持负面看法。

关于迁移到最新的 Airflow 2 版本,受访者致力于等待尤其是与动态 DAG 相关的功能。然而,也有用户表示他们在等待解决一些依赖,或更愿意等社区对新版本进行更多测试后再决定迁移。

您使用哪些指标来监控 Airflow?(多选)

否。 %
外部监控服务 81 40.7%
元数据库信息 71 35.7%
Statsd 54 27.1%
我不使用监控 47 23.6%
其他 14 7%

2020 的结果相比,更多用户以某种方式监控 Airflow。外部监控服务(40.7%)和元数据库信息(35.7%)在 Airflow 监控中开始发挥更重要的作用。

您如何部署 Airflow?(多选)

否。 %
在虚拟机上(例如使用 AWS EC2) 63 30.6 %
使用托管服务,例如 Astronomer、Google Composer 或 AWS MWAA 54 26.2 %
在 Kubernetes 上(使用 Apache Airflow 的 helm chart) 46 22.3%
本地部署 43 20.9%
在 Kubernetes 上(使用自定义部署) 39 18.9%
在 Kubernetes 上(使用其他 helm chart) 21 10.2%
其他 13 6.5%

超过一半的受访 Airflow 用户(51.4%)在 Kubernetes 上部署 Airflow。这比 2020 高约 20%。其余主要部署方式是虚拟机(30.6%)和托管服务(26.2%)。

您如何将 DAG 从开发环境分发到云端?(单选)

否。 %
使用同步过程(Git 同步、GCS Fuse 等) 100 49%
将其烘焙进 Docker 镜像 51 25%
共享文件系统 30 14.7%
其他 16 7.9%
我不清楚 7 3.4%

根据调查,最受欢迎的 DAG 分发方式是同步过程,约半数的 Airflow 用户(49%)使用此方式将 DAG 从开发环境分发到云端。

使用方法

您有对 Airflow 进行任何定制吗?(单选)

alt_text

否。 %
没有,我们使用原生 Airflow 165 81.3%
有,我们有独立的 fork 13 6.4%
有,我们使用第三方 fork 12 5.9%
有,我们已将 bug 修复回溯到旧版本 13 6.4%

更多的 Airflow 用户(81.3%)没有对 Airflow 进行任何定制(2020 为 75.9%)。有定制的用户(18.7%)主要是为了分离开发和生产工作流、回溯 bug 修复、进行安全修复或在 Kubernetes pod 上运行回填命令。

您使用哪种元数据库?(单选)

alt_text

否。 %I
PostgreSQL 13 86 43.9%
PostgreSQL 12 74 37.8%
MySQL 8 22 11.2%
MySQL 5 9 4.6%
MariaDB 4 2.0%
MsSQL 1 0.5%

根据调查,最受欢迎的元数据库是 PostgreSQL 13(43.9%)和 PostgreSQL 12(37.8%)。这相比 2020 年有显著增长,PostgreSQL 总占比从 68.9% 上升至 81.7%,而 MySQL 占比则从 23% 降至 15%。这与社区关于不再添加更多数据库后端或仅支持单一数据库的讨论相呼应。

您在 Airflow DAG 中与提供者和外部服务集成的主要方式是什么?(单选)

alt_text

否。 %
使用已有的专用 Operator / Hook 70 34.5%
使用 Bash/Python Operator 58 28.6%
使用自定义 Operator / Hook 50 24.6%
使用 KubernetesPodOperator 25 12.3%

根据调查,以下方式是最常用的与外部服务连接的方法:使用已有的专用 Operator / Hook(34.5%),使用 Bash/Python Operator(28.6%),使用自定义 Operator / Hook(24.6%)。使用 KubernetesPodOperator(12.3%)相对不太受欢迎。这一排名与 2020 的结果相似。

您在 Airflow DAG 中使用哪些提供者?(多选)

否。 %
Amazon Web Services(AWS) 112 55.4%
Google Cloud Platform(GCP)/ Google API 79 39.1%
公司内部系统 75 37.1%
Hadoop / Spark / Flink / 其他 Apache 软件 57 28.2%
微软 Azure 17 8.4%
其他 21 10.5%
在我的 Airflow DAG 中未使用外部服务 14 6.9%

不出所料,Amazon Web Services(55.4%,2020 为 59.6%),接下来三位分别是 Google Cloud Platform(39.1%,2020 为 47.7%),内部公司系统(37.1%,2020 为 55.6%),以及其他 Apache 产品(28.2%,2020 为 35.47%),是使用最广的 Airflow 提供者。

您多久升级一次 Airflow 环境?(单选)

alt_text

否。 %
每 12 个月一次 46 22.9%
每 6 个月一次 49 24.4%
每季度一次 47 23.4%
只要有新版本就升级 59 29.4%

不同的升级频率在受访 Airflow 用户中几乎同样受欢迎。

您是否单独升级 providers 而不是 core?(单选)

alt_text

否。 %
在需要时 83 42.8%
从不 - 始终使用 Airflow 自带的 providers 68 35.1%
我不知道可以单独升级 providers 32 16.5%
providers 发布时我会升级 11 5.7%

根据调查,Airflow 用户最常在需要时升级 providers(42.8%),或倾向于使用 Airflow 自带的 providers(35.1%)。令人惊讶的是,16.5% 的受访用户并不知道可以单独升级 providers。

您如何在任务之间传递输入输出?(多选)

否。 %
Xcom 141 69.8%
从存储中保存和检索 99 49%
TaskFlow 37 18.3%
其他 5 2.5%
我们不传递 29 14.4%

根据调查,Xcom(69.8%)是最受欢迎的任务间输入输出传递方式,但从存储中保存和检索仍然发挥重要作用(49%)。有趣的是,约 15% 的受访者表示他们不在任务之间传递任何输入或输出。

您使用数据血缘后端吗?(多选)

否。 %
没有,但如果 Airflow 完全支持,我会使用此功能 95 47.5%
我不熟悉数据血缘 58 29%
没有,数据血缘与我的使用无关 26 13%
是的,我将血缘发送到开源血缘仓库 15 7.5%
是的,我将血缘发送到企业血缘仓库 7 3.5%
是的,我将血缘发送到自定义内部血缘仓库 9 4.5%

当被问及使用哪种血缘后端时,答案显示血缘本身是一个相对新话题,但整体对该功能有兴趣。大多数用户表示目前不使用血缘解决方案,但如果 Airflow 支持可能感兴趣(47.5%),不熟悉数据血缘(29%),或血缘不是他们关注的点(13%)。

您在当前角色中使用哪些 Airflow 接口?(多选)

否。 %
原生 Airflow 图形用户界面 189 94%
CLI 98 48.8%
API 80 39.8%
自定义(自行开发的)Airflow 图形用户界面 12 6%
GCP Composer 1 0.5%

很显然,Airflow Web UI 的使用率很高,94% 的受访者表示在当前角色中使用它。CLI(48.8%)和 API(39.8%)使用率相对较低但仍有一定比例。

(如果选择了 GUI) 您使用 GUI 做什么?(多选)

否。 %
监控运行 188 95.9%
访问任务日志 176 89.8%
手动触发 DAG 167 85.2%
清除任务 162 82.7%
将任务标记为成功 119 60.7%
其他 6 3%

Airflow Web UI 被大量用于监控:监控运行(95.9%)以及故障排除:访问任务日志(89.8%),手动触发 DAG(85.2%),清除任务(82.7%),将任务标记为成功(60.7%)。

(如果选择了 CLI) 您使用 CLI 做什么?(多选)

否。 %
回填 63 56.8%
手动触发 DAG 52 46.8%
清除任务 26 23.4%
监控运行 25 22.5%
访问任务日志 21 18.9%
将任务标记为成功 11 9.9%
其他 17 15.3%

相较于 Airflow Web UI,Airflow CLI 主要用于回填(56.8%)和手动触发 DAG(46.8%)。

在 Airflow 中,哪些 UI 视图对您重要?(多选)

否。 %
DAG 列表 178 89.4%
任务日志 162 81.4%
DAG 运行 160 80.4%
图视图 147 73.9%
网格/树视图 138 69.3%
运行详情 117 58.8%
DAG 详情 111 55.8%
任务实例 102 51.3%
任务时长 91 45.7%
代码 90 45.2%
任务尝试次数 60 30.2%
甘特图 48 21.4%
启动时间 27 13.6%
其他 4 2%

UI 视图重要性排名显示,大多数 Airflow 用户主要将 Web UI 用于监控和/或故障排除,前三大视图为 DAG 列表(89.4%)、任务日志(81.4%)和 DAG 运行(80.4%)。结果与 20202019 的非常相似。

社区与贡献

您是否参与 Airflow 社区讨论?(单选)

alt_text

否。 %
我偶尔会看到 99 48.3%
我定期关注讨论但不参与 53 25.9%
我不知道可以参与 41 20.0%
我积极参与讨论 12 5.9%
否。 %
我知道可以但不贡献 116 57.1%
极少,仅在与我需要相关时 44 21.7%
我不知道可以 30 14.8%
我定期通过讨论、审查和提交 PR 进行贡献 13 6.4%

与 Airflow 贡献相关的结果与参与社区讨论的结果非常相似。大多数受访者(57.1%)知道但不贡献或极少贡献(21.7%)。14.8% 的用户并不知道可以贡献。再次表明还有很多工作要做,以提升社区活跃度并将当前 6.4% 的积极贡献者比例提升。

如果您不贡献——原因是什么?

alt_text

否。 %
即使想贡献,我也没有时间 65 38.9%
我不知道如何开始 63 37.7%
我没有贡献的需求 19 11.4%
我不知道可以参与 12 7.2%
我的雇主有政策使得贡献困难 8 4.8%

根据调查结果,Airflow 贡献的最主要阻碍是时间有限(38.9%),其次是缺乏如何开始的知识(37.7%),还有 7.2% 不了解可以贡献。

Airflow 的未来

在您看来,Airflow 哪些方面可以改进?(多选)

否。 %
Web UI 100 49.5%
日志、监控与告警 97 48.0%
示例、操作指南、入门文档 74 36.6%
技术文档 74 36.6%
调度器性能 56 27.7%
可靠性 52 25.7%
DAG 编写 48 23.8%
REST API 43 21.3%
身份认证与授权 41 20.3%
外部集成,例如 AWS、GCP、Apache 产品 41 20.3%
更好地支持各种部署方式(Docker-compose、Nomad 等) 39 19.3%
对我来说一切都运行良好 19 9.4%
我不清楚 4 2.0%

结果不言自明。根据调查,最需要改进的仍是 Airflow Web UI(49.5%),紧随其后的是用于日志、监控和告警的遥测(48%)。然而所有这些努力都应与改进文档(36.6%)和关于使用 Airflow 的资源(36.6%)相结合,尤其考虑到新用户入门的需求(36.6%)。

您希望在 Airflow 中看到哪些功能?

否。 %
DAG 版本管理 129 66.2%
依赖管理和数据驱动调度 83 42.6%
更动态的任务结构 82 42.1%
多租户 74 37.9%
基于信号的调度 67 34.4%
更好的安全性(隔离) 65 33.3%
通过 API 外部提交新 DAG 53 27.2%
可组合的 Operator 46 23.6%
支持原生云执行器(AWS/GCP/Azure 等) 44 22.6%
更好地支持机器学习 38 19.5%
远程 CLI 36 18.5%
支持混合执行器 22 11.3%

根据调查结果,DAG 版本管理是新特性中最受欢迎的,这并不奇怪,因为它可能对日常工作产生积极影响。其次是三项想法:依赖管理和数据驱动调度(42.6%),更动态的任务结构(42.1%)以及多租户(37.9%)。另一个有趣的点是,仅有 11.3% 认为需要支持混合执行器。

数据

如果您想自行查看原始数据,可在此获取:(Airflow User Survey 2022.csv)[/data/survey-responses/airflow-user-survey-responses-2022.csv.zip]

分享

阅读更多

Airflow 调查 2025

Ankit Chaurasia

该调查收集了来自122个国家的5,818 多份回复,是迄今为止规模最大的数据工程调查。每年进行一次,Apache Airflow 调查提供了关于 Airflow 使用的宝贵洞见,并帮助指导我们的未来工作。

Airflow 调查 2024

Ankit Chaurasia

该调查收集了来自116个国家的5,250 多份回复,是迄今为止规模最大的数据工程调查。每年进行一次,它提供了关于 Airflow 使用的宝贵洞见,并帮助指导我们的未来工作。