ETL 實務流程
數據的加工與自動化 在 AI 專案中,開發演算法可能只佔 20% 的時間,其餘 80% 的精力通常都花在處理數據。ETL(Extract, Transform, Load)就是將原始數據轉化為「AI 黃金燃料」的標準流程。
一、 ETL 三大階段拆解
- Extract (擷取)
-
核心任務:從各種異質來源(Heterogeneous Sources)收集數據。
-
來源範例:SQL 資料庫、ERP 系統、網頁爬蟲、IoT 感測器訊息、JSON API。
-
考點重點:此階段最常遇到的挑戰是「連線授權」與「資料格式不一」。
- Transform (轉換) -- 【最關鍵且耗時】 這是規劃師最需要介入設計的環節。主要包含以下子任務:
-
資料清洗 (Cleaning):刪除重複值、處理異常值(如:年齡 999 歲)、填補遺缺值。
-
格式統一 (Standardization):將日期統一為 YYYY-MM-DD,或將金額統一幣別。
-
特徵工程 (Feature Engineering):將原始數據轉為模型易讀的格式。例如:將「居住地:台北」轉換為數值標籤 1。
-
去識別化 (De-identification):為了符合隱私法規(如 GDPR),將姓名、身份證字號等敏感資訊遮蔽或加密。
- Load (載入)
-
核心任務:將處理好的數據存入目的地。
-
目的地範例:
-
資料倉儲 (Data Warehouse):用於傳統分析與結構化數據。
-
資料湖 (Data Lake):用於儲存海量的原始或非結構化數據。
-
向量資料庫 (Vector Database):用於生成式 AI (RAG) 的語意搜尋。
二、 ELT 與 ETL 的差異 (進階考點) 隨著雲端運算能力的提升,順序有時會調整為 ELT:
-
ETL (傳統):先轉換再載入。適合數據量小、安全性要求高的場景。
-
ELT (現代):先載入再轉換。利用雲端資料庫(如 BigQuery, Snowflake)的高速運算能力,直接在資料庫內進行大規模轉換,靈活性更高。
三、 規劃師必懂的品質守門員 在 ETL 過程中,必須設置檢核點,確保數據具備以下特質:
- 完整性
(Completeness):沒有大量空值。
- 唯一性
(Uniqueness):沒有重複採集。
- 即時性
(Timeliness):數據是否反映現狀(如:不使用十年前的偏好預測現在的行為)。
自我檢測題
- 在 AI 資料預處理中,將「台北、台中、高雄」等城市名稱轉換為模型可理解的數值代碼,這屬於 ETL 中的哪一個階段? (A) Extract (擷取) (B)
Transform (轉換) (C) Load (載入) (D) Analysis (分析)
答案:(B) - 關於 ETL 流程的敘述,下列何者「錯誤」? (A) 轉換
(Transform) 階段通常是整個流程中最耗時的部分 (B) 擷取 (Extract) 只能從單一的資料庫中讀取數據 (C) 載入 (Load) 的目的地可以是資料湖 (Data
Lake) (D) 數據清洗是轉換階段的重要任務之一
答案:(B) - 當企業需要處理極大規模的非結構化數據,且希望利用雲端平台的運算力直接在儲存後進行處理,這種模式稱為? (A) ETL
(B) API (C) ELT (D) SQL
答案:(C)