批次處理 中階

Apache Spark 核心架構

AI 練習作答

請說明 Apache Spark 的核心架構與執行模型。

架構組成

Driver:Spark 應用程式的主進程,負責解析 DAG、任務調度,與 Cluster Manager 溝通。

Executor:在 Worker 節點上執行的進程,負責實際計算和資料儲存(記憶體/磁碟)。每個應用程式有自己的 Executor。

Cluster Manager:管理叢集資源(YARN、Kubernetes、Spark Standalone)。

核心抽象

RDD(Resilient Distributed Dataset):最底層的分散式資料抽象,不可變、可容錯、可重建。現在較少直接使用。

DataFrame/Dataset:在 RDD 之上的高階 API,帶有 Schema,支援 SQL 查詢,由 Catalyst Optimizer 自動優化執行計畫。

Lazy Evaluation

Transformation(map、filter、join)不立即執行,只記錄 DAG。Action(collect、count、write)才觸發實際執行,允許 Catalyst 整體優化。

Shuffle

GroupBy、Join 等操作需要資料重新分配(Shuffle),跨節點網路傳輸,是效能瓶頸的主要來源。減少 Shuffle 是 Spark 調優的核心。

✦ AI 模擬面試

輸入你的答案,AI 即時分析精準度與改進空間

登入後即可使用 AI 評分