首頁 / 名詞卡 / 資料工程與MLOps / Apache Spark

iPAS AI中級🗄️ 資料工程與MLOps
🔑 名詞卡

Apache Spark

🎯 定義

一個支援記憶體內運算(In-memory Processing)的分散式計算平台,可支援批次、即時與互動式查詢(基於微批次 micro-batching),是目前大數據處理最廣泛使用的框架之一。

分散式運算框架比較

框架處理模式優點缺點
Hadoop(MapReduce)純批次處理成熟穩定、容錯強、易水平擴充速度較慢,不適合即時運算
Spark記憶體內運算,微批次模擬即時運算速度快、函式庫豐富(如 MLlib)記憶體需求高
Flink原生即時串流處理真正即時、高吞吐、狀態管理一致性佳生態系統較 Spark 小
Beam統一批次與串流的抽象模型可移植性強,多雲彈性部署抽象層高,上手需較多工程經驗

重點/應用

  • 內建近似統計功能:approxQuantile()(估算分位數)、summary()(快速生成描述性統計摘要),適合處理 TB 級資料且無需將全部資料載入記憶體。
  • 在機器學習訓練中可用 Spark MLlib 執行分散式迴歸、分類;並可搭配 GraphX/GraphFrames 做分散式圖計算、Spark NLP 做大規模文字處理。

記憶技巧

「Hadoop 用磁碟、Spark 用記憶體」——這是兩者速度差異的根本原因。

📖 課文原文

「Apache Spark:處理模式:記憶體內運算(In-memory Processing),支援批次、即時與互動式查詢(基於微批次 micro-batching)……優點:運算速度快、豐富函式庫、廣泛社群支援。」