COSCUP 2023

基於Airflow的ETL框架:簡化結構化資料處理流程
2023-07-29, 09:30–10:10 (Asia/Taipei), TR 209
Language: Traditional Chinese (Taiwan)

在資料密集的大型企業中,Airflow經常可以作為ETL排程的工作調度引擎,透過Airflow提供的各種Operator,可以讓我們彈性與自由的撰寫各種基於Python或各種語言的工作(Task),並以DAG定義工作的上下游關係,將資料整理成有用的知識進行AI相關的服務。然而,在一個專注於結構化資料處理的資料科學團隊中,過於彈性與自由的框架反而讓團隊增加了許多維運、溝通與程式碼傳承上的成本。為了解決這個問題,Jeffrey在玉山銀行的智能金融處,開發了一個基於Airflow的ETL框架,讓身處巨量結構化資料中的資料科學家們,可以更簡易的進行規格化的ETL開發,並能夠於其中專注於業務邏輯:包含1) 資料表的欄位定義、2) 驗證邏輯撰寫與3) 轉換邏輯(Transformatioin)的函數撰寫與編排,ETL框架可以自動將以上元素串接上Airflow,並在Airflow UI上可以簡單地檢視這些元素。


ETL框架在玉山銀行智能金融處,以Airflow這個開源框架作為核心進行開發的,其中以Airflow的Python Operator、Task Group作為底層調度工作的核心元件,並實作出Operation這個抽象類別作為單一接口供開發者實作ETL過程中,各個Transformation單元的轉換函式與輸入與輸出資料表的撰寫。每個繼承Operation的單元可以像積木一樣進行組合成一成一個更大的業務邏輯單元。Jeffrey會對ETL框架的使用方式、ETL框架底層運作機制與程式架構的方式進行介紹,藉此聽眾們可以一窺Airflow於ETL的常見套路。


Difficulty

Skilled

Target Audience

開發者、有Python開發經驗、有ETL或Airflow開發經驗更好

Jeffrey Lin (奕勳)
目前就職於玉山銀行智能金融處的技術中心-資料科學組,負責ETL相關工具的開發與Graph技術的研究與開發。興趣是研究Python或Big Data相關的工具或框架。