iT邦幫忙

2025 iThome 鐵人賽

DAY 15
0

簡介

我們通過上篇 DAY14 雲端基礎章-S3、Lambda、EventBridge 實作篇,體驗到事件驅動自動化的方便性。

今天我們要進入 淬鍊之章,正式開始針對數據來做處理,首先要先來認識 AWS 中的重要資料處理服務 —— Glue,他是打造雲端自動化數據管道不可或缺的服務。


什麼是 Glue?

AWS Glue 是 AWS 提供的 Serverless 資料整合服務,專門用於簡化、加速並自動化 ETL(Extract, Transform, Load) 或 ELT 流程。

  • Extract(提取):從 S3、RDS、DynamoDB、Redshift 或 API 取得資料。
  • Transform(轉換):清理、轉換、標準化或豐富資料。
  • Load(載入):將處理後的資料輸出到 S3、RDS、Redshift 等系統。

👉 不需要自行維運伺服器,就能在雲端快速建立 Data Pipeline。


Glue 的核心組件

1. Crawlers(資料爬蟲)

  • 功能:自動掃描資料來源(如 S3、RDS、DynamoDB、JDBC 連線資料庫),自動判斷檔案格式(CSV、JSON、Parquet 等),並建立或更新 Data Catalog 的 Table。
  • 特色
    • 可設定排程,定期掃描更新 Schema。
    • 支援多種檔案壓縮格式(Gzip、Snappy 等)。
    • 能夠識別分區結構(如 year=2025/month=09)。
  • 使用場景
    • 快速建立元資料目錄。
    • 當原始檔案格式經常變動,需要自動更新 Schema。
  • 限制
    • 若檔案格式過於複雜,可能推斷不正確,需要人工調整。
    • 頻繁執行 Crawler 會增加成本。

2. Data Catalog(資料目錄)

  • 功能:集中管理資料的 元資料(Metadata),儲存表格結構、欄位型別、來源路徑等資訊。
  • 特色
    • Apache Hive Metastore 相容,支援開源工具(Spark、Presto、Hive)。
    • 提供 Schema 版本控制,可追蹤變更歷史。
    • 與 Athena、Redshift Spectrum、EMR 無縫整合,成為查詢基礎。
  • 使用場景
    • 作為企業級資料湖的 單一真相來源(Single Source of Truth)
    • 讓不同服務共用同一份元資料,避免重複定義。
  • 限制
    • 僅能儲存結構化與半結構化資料描述,不儲存資料本身。
    • 權限控制需搭配 Lake Formation 才能做到細粒度治理。

3. ETL Jobs

  • 功能:執行 Extract、Transform、Load,將資料清理、轉換後載入到指定目的地。
  • 特色
    • 使用 PySparkScala 撰寫程式碼。
    • 內建常見轉換函數(Filter、Join、Aggregation、Format Conversion)。
    • 支援 Job Bookmark,避免重複處理已載入的資料。
  • 使用場景
    • 將 CSV 轉換成 Parquet 並分區存放在 S3。
    • 清理髒數據、欄位標準化,載入至 Redshift。
  • 限制
    • 需具備 Spark 基礎知識,對初學者有學習曲線。
    • 作業啟動需等待 Spark Cluster 初始化(冷啟動較慢)。

4. Triggers(觸發器)

  • 功能:控制 Glue 任務的啟動方式。
  • 類型
    • Schedule Trigger:固定時間排程(如每日凌晨 1 點執行)。
    • Event Trigger:事件驅動(如 S3 新增檔案 → 自動觸發)。
    • Conditional Trigger:依據任務狀態(如某 Job 成功後,觸發下一個 Job)。
  • 使用場景
    • 建立日常排程管道。
    • 與 S3 事件、Lambda、EventBridge 搭配,形成即時管道。
  • 限制
    • 複雜依賴條件需搭配 Workflow

5. Workflows(工作流程)

  • 功能:協調多個 Crawlers、Jobs、Triggers,形成一個完整的數據處理流程。
  • 特色
    • 支援 DAG(Directed Acyclic Graph,有向無環圖) 方式設計。
    • 提供視覺化 UI,能追蹤任務執行情況。
  • 使用場景
    • 建立 資料湖分層管道(Bronze → Silver → Gold)。
    • 定義依賴條件,確保先爬取 Schema 再執行轉換。
  • 限制
    • 不如 Airflow/MWAA 彈性,但 Glue Workflow 對 Glue 生態系已足夠。

6. Glue Studio(圖形化介面)

  • 功能:拖拉式設計 ETL 流程,無需寫程式碼。
  • 特色
    • 提供 可視化 Job 編輯器
    • 可匯出 PySpark 程式碼,方便後續客製化。
  • 使用場景
    • 適合資料工程新手,快速建置 ETL。
    • 當業務需求頻繁變動,需要直觀調整邏輯。
  • 限制
    • 複雜轉換邏輯仍需手寫程式碼。

7. Glue DataBrew

  • 功能:提供 No Code 的資料準備與清理工具,專為資料分析師與科學家設計。
  • 特色
    • 內建 250+ 種轉換(如缺失值處理、欄位拆分、資料標準化)。
    • 視覺化操作,結果即時預覽。
    • 可輸出清理後的資料至 S3 或 Redshift。
  • 使用場景
    • 準備機器學習訓練集。
    • 建立分析報表前快速清理資料。
  • 限制
    • 僅適合中小型資料集。
    • 不支援複雜的分散式運算。

常見應用案例

1.資料湖建構

  • 將來自不同來源的原始資料(CSV、JSON、Logs 等)轉換為高效能格式(Parquet/ORC),並存放在 S3 的 Data Lake
  • 搭配 Glue Crawlers 自動建立 Data Catalog,方便 Athena、Redshift Spectrum 查詢。

2.資料倉儲載入

  • 將清理與轉換後的資料載入 Amazon Redshift,支援下游 BI 工具(如 QuickSight、Tableau、Power BI)
  • 常見於 行銷數據分析財務報表生成 等場景。

3.跨系統整合

  • 透過 JDBC 連線 將內部資料庫(Oracle、SQL Server、MySQL 等)整合到 AWS。
  • 常見於 ERP、CRM、交易系統 的數據匯入,形成統一資料視圖。

4.即時串流處理

  • 使用 Glue Streaming 搭配 Amazon Kinesis 或 MSK(Managed Kafka),實現低延遲資料處理。
  • 例如:即時網站點擊流分析、即時詐欺檢測、IoT 感測器數據處理

5.資料清理與標準化

  • 使用 Glue ETL 或 DataBrew 清理錯誤資料、處理缺失值、欄位正規化。 * 適用於 客戶名單去重產品代碼標準化機器學習訓練數據準備

6.機器學習數據準備

  • 將數據轉換成適合 ML 模型的格式,並直接輸出至 Amazon SageMaker
  • 例如:推薦系統資料前處理情感分析訓練集生成

7.資料遷移與現代化

  • 協助企業將 On-Premise 數據平台 遷移到 AWS 雲端。
  • 例如:舊有數據倉儲 → Redshift傳統資料庫 → S3 Lakehouse 架構

Glue 計費方式

  • Crawler:依 DPU(Data Processing Unit)使用時間計價。
  • ETL Job:依作業執行的 DPU 小時計價。
  • Data Catalog:依儲存的物件數量計價。

💡 1 DPU ≈ 4 vCPU + 16GB RAM

👉 詳細費用參考:AWS Glue Pricing


注意事項

  • 學習曲線:複雜轉換需掌握 PySpark/Scala。
  • 成本控制:避免過度啟動 Crawler 或不必要的大規模任務。
  • 效能限制:啟動延遲較高,不適合低延遲場景。
  • 功能限制:進階的資料治理需搭配 Lake Formation。

結論與建議

  1. AWS Glue 省去基礎設施管理,讓開發者專注於資料邏輯。
  2. 支援多樣化應用場景,涵蓋批次、串流、資料清理與遷移。
  3. 仍需場景評估,對於低延遲或複雜場景,可能需搭配 Lambda、EMR 或 Flink。

Glue 適合中大型數據工程團隊,能快速構建可擴展的 Data Pipeline,是 AWS Data Lakehouse 架構中的重要拼圖。


下篇預告

今天我們理解了 Glue 的核心概念與功能,下篇我們將進入 Day16 淬鍊之章-Glue 實作篇-1,實際來透過 Glue 處理數據。


參考資料

[1] AWS Glue 官方文件
[2] AWS Glue Pricing


上一篇
DAY14 雲端基礎章-S3、Lambda、EventBridge 實作篇
下一篇
Day16 淬鍊之章-Glue 實作篇-1
系列文
動漫宅的 30 天 AWS Lakehouse 修行日誌19
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言