Aralia Data Planet 的核心價值之一,就是能夠持續且穩定地提供高價值資料給整個 Ecosystem 的使用者。
為了確保資料能不斷更新,Data Planet 的管理者需要定期地將外部資料來源轉換並上傳到平台中。
這個流程屬於典型的 ETL (Extract – Transform – Load):
- Extract:從目標來源抓取資料(API、資料庫、檔案、網站爬蟲等)
- Transform:清洗、整理或轉換成統一格式(常透過 Python 程式處理)
- Load:將結果載入到 Data Planet,使 Ecosystem 中的使用者可以存取
為了讓這個過程自動化與可持續運行,BigObject 的 Data Planet 管理員使用 Apache Airflow 來管理與執行 ETL。
為什麼選擇 Airflow
Apache Airflow 是一套 工作流(workflow)編排與排程工具,在業界廣泛應用於資料工程與分析平台。
在 Aralia 的資料管線中,Airflow 提供了以下關鍵能力:
- 可自訂的 Scheduling
- 透過 DAG(Directed Acyclic Graph,有向無環圖)的設計,能靈活定義每日、每小時或任何自訂排程的資料處理流程。
- 支援重試、依賴關係控制,確保流程執行的穩定性。
- 整合資料來源與轉換處理
- 管理者可以透過 Python Operator 或其他內建 Operators,自動讀取資料來源。
- 在 Pipeline 中直接進行清洗、轉換,並轉成符合 Data Planet 的目的格式。
- 流程可觀測與錯誤追蹤
- 提供 Web UI 來監控每個任務的狀態,方便排錯與回溯。
- 支援 Logging 與 Alerting,能及時通知管理員錯誤。
- 版本管控與可重現性
- 每個 DAG 與任務定義皆以程式碼管理,支援版本控制(例如透過 Git)。
- 確保相同的 Pipeline 可以被重現或回溯,符合資料治理的需求。
📌 簡單來說:
Airflow 在 Aralia 的角色,就是扮演 自動化排程器與流程協調者,幫助 Data Planet 持續完成 ETL 工作,確保 Ecosystem 的使用者能即時取得最新且一致的資料。