iT邦幫忙

2023 iThome 鐵人賽

DAY 2
2

從前從前

2015 年,Airbnb 發展迅速,數據量大幅提升,每天必須管理數個資料流來完成自動化,數據管控遇到困難,當時身為 Airbnb 的資料工程師 Maxime Beauchemin 開發出了 Airflow。
修但幾勒

(修但幾勒~遇到困難還能先開發出一個產品! /images/emoticon/emoticon04.gif 通常卡住在台灣只有 workaround 和 stackoverflow 吧~果然大神思考就是不一樣)

2016 年 4 月 Airflow 專案加入(捐給)官方 Apache 基金會(Apache Software Foundation,ASF),進入 Apache 孵化器(Apache Incubator),2019 年成為頂級專案(Top-Level Project,TLP)從 Apache 孵化器光榮畢業,從此 Airflow 就改名為 Apache Airflow,截至 2023 年 9 月,共有 21.4k commits 和 31.7k stars。

  • Apache Airflow 專案連結:https://github.com/apache/airflow

為什麼 Airbnb 自己工程師開發的產品 Airflow 不自己維護要給 Apache,這樣不是很浪費嗎,通常是因為這不是他們主要謀生的商業模式,把他捐出來變成開源,反而對這項專案更好,Airbnb 可能沒有成本去長期維護。
Ref: Airflow 維護者 TP 訪談 Podcast

目前 Airflow 主要維護的公司就是 Astronomer,因為 Airflow 是開源的所以也沒辦法從中獲利,Astronomer 的方式就是能讓大家更簡單的使用 Airflow,我們如果要自己架設環境,可能要開一個雲端的虛擬機 (Virtual Machine),在 Google 的 GCP上可能就是 Compute Engine,Amazon 的 AWS 上可能就是 EC2,但 Astronomer 就讓你在他們平台就能一鍵架設,後續維護和開發都能在他們平台操作。

最近查一查也有發現 Amazon 有推出 MWAA (Managed Workflows for Apache Airflow),好像也能讓 Airflow 架設和維護更簡單,如果時間允許,希望能在 30 天後期的 deploy 部分提到。

Airflow 是 ___ 的工具

  • Apache Airflow is a tool for data orchestration.

在查資訊的時候常常會有這個字,Data Orchestration,代表資料協作、資料編排,也可以說 Airflow 是資料協調管理工具,但聽完應該還是很模糊吧,我覺得上面 Podcast 提到的樂團指揮或是餐廳主廚的舉例就好懂很多。

  • 樂團主要工作是演奏音樂,誒~那指揮在幹嘛?指揮並沒有直接在演奏,而是在確保節奏拍子,協調樂隊多個聲部,那可以沒有指揮嗎?這就要看規模了,如果人數很少,大家也都很有默契,基本上可以,但人一多起來就麻煩了,就需要把協作、編排、協調管理的工作另外教給專業的人。
  • 餐廳主廚也是相似,小間的可能只有三個廚師,人人都要煮,大間的就會分配,主廚最重要的是讓所有訂單都順利出單,而不是每一道菜都本人親手去煮,所以分配資源、協調管理才是主廚真正的工作。
  • 資料也一樣,如果整間公司目前只有一兩個資料源,排程也只有一兩個,其實真的不需要 Airflow,殺雞焉用牛刀,但是當資料來源和排程複雜程度上升之後,會指揮的主廚 Airflow 就要出馬了,開始負責 Data Orchestration 資料流的各項協調管理,編排出最穩定的出餐順序,或是確保多個聲部順利加入演奏,這樣後續的客人(老闆、PM)和聽眾(DS資料科學家、DA資料分析師)才會滿意,或是甲方爸爸才會買單。

/images/emoticon/emoticon12.gif/images/emoticon/emoticon44.gif

廢話太多,明天能不能趕快開始實作啊啊啊啊~


上一篇
[Day1] 前言
下一篇
[Day3] Airflow 快樂安裝指北(Mac篇)
系列文
Airflow 是什麼? 能吃嗎 ? 數據水管工的超級蘑菇30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言