Skip to content

Apache Spark

Apache Spark 開源分散式運算框架

軟體分類 數據分析 / 大數據與 AI
開發廠商 Apache Software Foundation
Stars
43k
Forks
29.1k
License
APACHE-2.0
Version
v3.5.3
Update
2026-03-13
OS
kubernetes
  • 終結複雜的大數據工作流。Apache Spark 解決了傳統大數據框架在處理迭代運算與即時數據時的效能瓶頸。透過統一的 API 支援(Java, Scala, Python, R),它讓開發者能用同一套邏輯處理儲存在 HDFS、S3、NoSQL 資料庫中的數據。無論是建構超大規模的資料湖(Data Lake),還是開發即時推薦系統,Spark 都能提供極致的擴展性與穩定性。
  • 極致的記憶體運算: 利用 RDD(彈性分散式資料集)與 DAG(有向無環圖)排程技術,將中間計算結果保留在記憶體中,大幅減少硬碟 I/O。

  • 統一的技術棧: 內建 Spark SQL(結構化數據處理)、Spark Streaming(高吞吐即時流處理)、MLlib(分散式機器學習庫)及 GraphX(圖運算)。

  • 靈活的部署模式: 支援獨立運行(Standalone)、Hadoop YARN、Apache Mesos 以及現代化的 Kubernetes 容器化部署。

  • 強大的 Python 支援 (PySpark): 讓資料科學家能利用熟悉的 Python 語法調用強大的分散式運算資源,並與 Pandas、Scikit-learn 完美整合。

  • 容錯與高可用性: 具備自動錯誤恢復機制,當集群中的某個節點失效時,Spark 能根據血統(Lineage)自動重新計算丟失的數據分區。


主要功能、特點

  • 介紹: Apache Spark 是一個基於 Scala 編寫的多語言引擎。它不僅能處理 PB 等級的離線數據,還能以毫秒級的延遲處理即時串流數據,是企業建構現代數據中台的首選。

  • 服務: 提供結構化串流(Structured Streaming)、Delta Lake 整合(實現數據 ACID 特性)、豐富的算子庫、以及與各種雲端數據服務(AWS EMR, Google Cloud Dataproc)的深度兼容。


指令

  • 啟動 Spark Shell (Scala):
    spark-shell
  • 提交 Spark 作業:
    spark-submit --class <main-class> --master <master-url> <application-jar>