ETL · 資料加工生產線

ETL / ELT

把髒原料變成可用成品

原始資料又髒又散。ETL 是一條生產線:Extract 抽取 → Transform 轉換 → Load 載入。
順序與職責是新手必考重點,T(轉換)是最重的活。

ETL:先轉換再載入 | ELT:先載入再轉換(大資料)
01 — 白話直覺

ETL:把原料資料變成可用的成品

原始資料又髒又散,不能直接用。ETL 就是一條資料加工生產線Extract 從來源抽出來、Transform 清洗轉換、Load 載入到目的地(資料倉儲)。新手最常考的就是這三步的順序與職責

Extract 抽取
E

從 DB/API/檔案把原始資料挖出來。

Transform 轉換
T

清理、排序、轉格式——最重的活。

Load 載入
L

把成品裝進倉儲,給下游使用。

ETL vs ELT 的差別只在 T 和 L 的順序:ETL 先轉換再載入;ELT 先載入(進強大的倉儲)再用倉儲的算力轉換,適合大資料。

02 — 核心互動

拖出正確的 ETL 順序

下面打亂了三個步驟。點按鈕依正確順序排列,看資料如何一步步從「髒原料」變成「乾淨成品」。順序錯了,整條線就崩。

目前順序
判定

正確順序是 E → T → L。記憶法:先把貨「抽」出來、再「轉」乾淨、最後「載」進倉庫,跟做菜一樣:先買菜、再切洗、最後上桌。

03 — ETL vs ELT

兩種架構的選擇

優點

  • ETL:載入前就清乾淨,倉儲只放好資料
  • ELT:先全進倉儲,用倉儲算力轉換,彈性高
  • 用工具(Airflow/dbt)排程與監控

缺點 / 限制

  • 順序錯誤(如先 Load 髒資料)會污染倉儲
  • Transform 寫不好,下游全錯
  • 沒有錯誤處理,一個來源掛掉全線停

常見工具

🔁
排程
Airflow、Prefect
🔧
轉換
dbt、Spark
📨
串流
Kafka、Flink
04 — 速記與對照

ETL vs ELT

面向ETLELT
順序抽取→轉換→載入抽取→載入→轉換
轉換地點載入前在中繼處理載入後在倉儲內處理
適合傳統資料倉儲、結構化雲端資料湖、大數據
彈性先定 schema先入湖再依需求轉

自我檢測

ETL 和 ELT 差在哪?
ETL 先轉換再載入(適合傳統倉儲);ELT 先把原始資料載入湖/倉,再用其算力就地轉換(適合雲端大數據)。
Transform 階段通常做什麼?
清理、去重、格式統一、型別轉換、彙總、join、衍生欄位——把原始資料整成可分析的樣子。
批次和串流 ETL 差在哪?
批次定時大批處理(如每日);串流即時逐筆處理(如秒級),用於即時儀表板與監控。

🎯 重點整理

  1. ETL:抽取→轉換→載入;ELT:抽取→載入→轉換。
  2. ELT 善用雲端算力、適合資料湖與大數據。
  3. Transform 做清理、統一、彙總、衍生。
  4. 依時效選批次(定時)或串流(即時)。
  5. 記錄流程與失敗重跑,確保可追溯。

📝 iPAS 考點提醒

ETL/ELT 是資料整合的標準流程,iPAS 中級科目二考點。重點:抽取(Extract)、轉換(Transform)、載入(Load),把分散多源資料整成乾淨可分析的資料。易混點:ETL 先轉換再載入(傳統倉儲)、ELT 先載入再於倉儲內轉換(雲端大數據常用,善用倉儲算力);常用 Airflow 排程、dbt 管理轉換。情境:建資料管線、確保分析有可靠來源。

想練情境題與詳解 → AI 學習與考證地圖

❓ 常見問題

ETL 是什麼?

Extract(萃取)、Transform(轉換)、Load(載入):從來源取出資料、清理轉換成一致格式、再載入目標(如資料倉儲)供分析使用。

ETL 和 ELT 差在哪?

ETL 先轉換再載入(傳統倉儲);ELT 先把原始資料載入(資料湖或雲倉)再用其運算能力轉換,適合大數據與雲端。

Transform 階段通常做什麼?

清理(去重、補缺、修格式)、整合多來源、標準化單位、衍生特徵、彙總,讓資料一致可分析。

批次和串流 ETL 差在哪?

批次定期處理大量資料(如每日);串流即時處理連續資料(如即時監控、推薦),延遲需求不同。

ETL 流程要注意什麼?

資料品質驗證、可重跑(冪等)、錯誤處理與重試、可監控與排程,以及避免過程中造成資料洩漏。

🧭 相關主題

← 返回 AI 學習與考證地圖