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,以及未來應重點關注哪些方面。