Airflow 2022 用户调查

今年的调查已经结束,我们收集到了一批新的数据供大家参考!我们在两周内收集了 210 份回复。在过去两年中,贡献量和下载量持续增长,我们预计这一趋势将贯穿 2022 年。

原始回复数据将很快在此处公布,在此期间,如需副本,请随时发送电子邮件至 john.thomas@astronomer.io

摘要

用户概况

  • 与往年类似,超过半数的 Airflow 用户是数据工程师 (54%)。解决方案架构师 (13%)、开发人员 (12%)、DevOps (6%) 和数据科学家 (4%) 也是活跃的 Airflow 用户!与 2020 年2019 年的结果相比,解决方案架构师角色的占比略有增加。
  • Airflow 在大型公司中得到使用并很受欢迎,64% 的 Airflow 用户在员工人数超过 200 人的公司工作,与 2020 年相比增加了 11 个百分点。
  • 62% 的受访者所在公司有超过 6 名 Airflow 用户。
  • 2020 年2019 年的调查结果相比,更多 Airflow 用户 (65.9%) 愿意推荐 Apache Airflow。推荐 Airflow 的意愿总体呈积极趋势,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%) 是最常用的执行器 (executor)。

使用情况

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

社区与贡献

  • 大多数 Airflow 用户 (57.1%) 知道可以贡献但没有贡献,另有 21.7% 的用户很少贡献。14.8% 的用户不知道他们可以贡献。需要做更多工作来吸引社区成为更活跃的贡献者,并提高当前 6.4% 的活跃贡献用户比例,特别是考虑到贡献的一个重要障碍是不知道如何开始 (37.7%)。

Airflow 的未来

  • 最重要的改进领域仍然是 Airflow Web UI (49.5%),紧随其后的是用于日志记录、监控和警报目的的更多遥测功能 (48%)。然而,所有这些努力都应与改进文档 (36.6%) 和有关使用 Airflow 的资源同步进行,特别是考虑到新用户的入门需求 (36.6%)。
  • DAG 版本控制 (66.2%) 是 Airflow 新功能中最受欢迎的,这并不令人意外,因为此功能可能对 Airflow 用户的日常工作产生积极影响。紧随其后的是另外三个想法:依赖管理和数据驱动调度 (42.6%)、更动态的任务结构 (42.1%) 和多租户 (37.9%)。

用户概况

以下哪个最符合您目前的职业?(单选)

alt_text

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

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

您与 Airflow 的交互频率是多久?(单选)

alt_text

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

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

贵公司有多少员工?(单选)

alt_text

No. %
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 人的公司工作(201-5000 人的公司占 41%,5000 人以上的公司占 23%)。

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

alt_text

No. %
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%

根据调查,与 2020 年2019 年的调查结果相比,更多 Airflow 用户 (65.9%) 愿意推荐 Apache Airflow。推荐 Airflow 的意愿总体呈积极趋势,93% 的受访 Airflow 用户愿意推荐 Airflow(2020 年为 92%,2019 年为 85.7%),只有 1% 的用户不太可能推荐(2019 年为 3.6%,2020 年为 3.5%)。

您获取 Airflow 信息的来源是什么?(多选)

No. %
文档 189 90.4%
Airflow 网站(博客等) 142 67.9%
Stack Overflow 126 60.3%
Github Issues 104 49.8%
Slack 96 45.9%
Airflow 峰会视频 88 42.1%
GitHub Discussions 76 36.4%
Airflow 社区网络研讨会 41 19.6%
Astronomer Registry 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

No. %
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

No. %
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 个活动的 Airflow 实例,其中近 50% 只有 1 或 2 个。

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

alt_text

No. %
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

No. %
1 113 55.1%
2 61 29.8%
3 18 8.8%
4+ 13 6.3%

超过半数的受访 Airflow 用户在其最大的 Airflow 实例中有一个调度器,但值得注意的是,另一半 Airflow 用户选择拥有 2 个或更多调度器。

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

No. %
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%) 执行器也开始受到 Airflow 用户的关注和使用。

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

alt_text

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

在使用 Celery 执行器的受访用户中,近半数 (44.8%) 在其最大的 Airflow 实例中有 2 到 5 个工作节点。值得注意的是,近五分之一 (19.6%) 的用户有超过 10 个工作节点。

您目前使用哪个版本的 Airflow?(单选)

alt_text

No. %
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?(多选)

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

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

您如何部署 Airflow?(多选)

No. %
在虚拟机上(例如使用 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 从开发环境分发到云端?(单选)

No. %
使用同步过程(Git 同步、GCS fuse 等) 100 49%
将它们烘焙到 Docker 镜像中 51 25%
共享文件系统 30 14.7%
其他 16 7.9%
我不知道 7 3.4%

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

使用情况

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

alt_text

No. %
没有,我们使用原生 Airflow 165 81.3%
是的,我们有单独的分支 13 6.4%
是的,我们使用第三方分支 12 5.9%
是的,我们将错误修复反向移植到了旧版本 13 6.4%

更多 Airflow 用户 (81.3%) 未对 Airflow 进行任何定制(相比 2020 年的 75.9%)。那些进行定制的 Airflow 用户 (18.7%) 主要出于以下原因:分离开发和生产工作流、反向移植错误修复、安全修复或在 Kubernetes Pod 上运行 backfill 命令。

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

alt_text

No. %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

No. %
使用现有的专用操作符 / 钩子 70 34.5%
使用 Bash/Python 操作符 58 28.6%
使用自定义操作符 / 钩子 50 24.6%
使用 KubernetesPodOperator 25 12.3%

根据调查回复,使用 Airflow 连接外部服务的以下方式最为流行:使用现有的专用操作符 / 钩子 (34.5%)、使用 Bash/Python 操作符 (28.6%)、使用自定义操作符 / 钩子 (24.6%)。根据调查回复,使用 KubernetesPodOperator (12.3%) 相对不太流行。与提供者和外部服务的集成方法排名与 2020 年类似。

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

No. %
Amazon Web Services 112 55.4%
Google Cloud Platform / Google APIs 79 39.1%
公司内部系统 75 37.1%
Hadoop / Spark / Flink / 其他 Apache 软件 57 28.2%
Microsoft Azure 17 8.4%
其他 21 10.5%
我的 Airflow DAG 中不使用外部服务 14 6.9%

不足为奇的是,Amazon Web Services(55.4%,2020 年为 59.6%)是领先的 Airflow 提供者,紧随其后的是 Google Cloud Platform(39.1%,2020 年为 47.7%)、公司内部系统(37.1%,2020 年为 55.6%)和其他 Apache 产品(28.2%,2020 年为 35.47%)。

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

alt_text

No. %
每 12 个月 46 22.9%
每 6 个月 49 24.4%
每季度一次 47 23.4%
每当有新版本发布时 59 29.4%

在受访 Airflow 用户中,Airflow 环境升级的频率分布几乎同样受欢迎。

您是否将提供者与核心分开升级?(单选)

alt_text

No. %
需要时 83 42.8%
从不 - 始终使用 Airflow 自带的提供者 68 35.1%
我不知道可以单独升级提供者 32 16.5%
提供者发布新版本时就升级 11 5.7%

根据调查回复,Airflow 用户最常在需要时升级提供者 (42.8%) 或倾向于使用 Airflow 自带的提供者 (35.1%)。令人惊讶的是,16.5% 的受访 Airflow 用户不知道他们可以将提供者与核心 Airflow 分开升级。

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

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

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

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

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

当被问及使用何种血缘后端时,回复表明,虽然血缘本身是一个相对较新的话题,但人们对此功能总体上很感兴趣。大多数 Airflow 用户表示他们目前不使用血缘解决方案,但如果 Airflow 未来完全支持则可能会感兴趣 (47.5%),不熟悉数据血缘 (29%),或者数据血缘不是他们关注的问题 (13%)。

在您当前的工作中,您使用 Airflow 的哪些接口?(多选)

No. %
原始 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%) 的使用率相近,但与 Airflow Web UI 的使用相比不那么普遍。

(如果勾选了 GUI) 您使用 GUI 的用途是什么?(多选)

No. %
监控运行 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 的用途是什么?(多选)

No. %
回填 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 视图对您很重要?(多选)

No. %
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%)。结果与 2020 年2019 年的结果非常相似。

社区与贡献

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

alt_text

No. %
我偶尔会看到 99 48.3%
我定期关注讨论内容但不参与 53 25.9%
我不知道我可以 41 20.0%
我积极参与讨论 12 5.9%
No. %
我知道我可以但我不贡献 116 57.1%
非常少,只在与我需要的内容相关时 44 21.7%
我不知道我可以 30 14.8%
我定期通过讨论、评审和提交 PR 来贡献 13 6.4%

与 Airflow 贡献相关的结果与参与 Airflow 社区讨论的结果非常相似。大多数受访 Airflow 用户 (57.1%) 知道可以贡献但没有贡献,或很少贡献 (21.7%)。14.8% 的用户不知道他们可以贡献。这再次清楚地表明,需要做更多工作来吸引社区成为更活跃的贡献者,并提高目前 6.4% 的活跃贡献用户比例。

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

alt_text

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

根据调查结果,阻碍 Airflow 贡献的最重要因素是时间有限 (38.9%),但令人惊讶且重要的阻碍因素也是不知道如何开始 (37.7%),其次是不知道可以贡献 (7.2%)。

Airflow 的未来

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

No. %
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%)。

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

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

根据调查结果,DAG 版本控制是 Airflow 新功能中最受欢迎的,这并不令人意外,因为此功能可能对 Airflow 用户的日常工作产生积极影响。紧随其后的是另外三个想法:依赖管理和数据驱动调度 (42.6%)、更动态的任务结构 (42.1%) 和多租户 (37.9%)。该问题中另一个有趣的点是,只有 11.3% 的用户认为 Airflow 需要支持混合执行器。

数据

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

分享

另请阅读

Airflow 2024 年度调查

Ankit Chaurasia

这是迄今为止规模最大的数据工程调查,收集了来自 116 个国家的 5,250 多份回复。这项年度调查提供了关于 Airflow 使用情况的宝贵见解,并有助于指导我们未来的工作。

Airflow 2023 年度调查

Michael Robinson

Airflow 2 得到了快速普及,社区持续壮大。这份年度调查有助于我们了解用户如何使用 Airflow,以及未来应重点关注哪些方面。