Spark組件

Spark項目由不同類型的緊密集成組件組成。Spark是一個計算引擎,可以組織,分發和監控多個應用程序。

下面我們來詳細瞭解每個Spark組件。

Spark組件

Spark Core

  • Spark Core是Spark的核心,並執行核心功能。
  • 它包含用於任務調度,故障恢復,與存儲系統和內存管理交互的組件。

Spark SQL

  • Spark SQL構建於Spark Core之上,它爲結構化數據提供支持。
  • 它允許通過SQL(結構化查詢語言)以及SQL的Apache Hive變體(稱爲HQL(Hive查詢語言))查詢數據。
  • 它支持JDBC和ODBC連接,這些連接建立Java對象與現有數據庫,數據倉庫和商業智能工具之間的關係。
  • 它還支持各種數據源,如Hive表,Parquet和JSON。

Spark Streaming

  • Spark Streaming是一個Spark組件,支持流數據的可伸縮和容錯處理。
  • 它使用Spark Core的快速調度功能來執行流分析。
  • 它接受小批量數據並對數據執行RDD轉換。
  • 它的設計確保爲流數據編寫的應用程序可以重複使用,只需很少的修改即可分析批量的歷史數據。
  • Web服務器生成的日誌文件可以視爲數據流的實時示例。

MLlib

  • MLlib是一個機器學習庫,包含各種機器學習算法。
  • 它包括相關性和假設檢驗,分類和迴歸,聚類和主成分分析。
  • 它比Apache Mahout使用的基於磁盤的實現快9倍。

GraphX

  • GraphX是一個用於操作圖形和執行圖形並行計算的庫。
  • 它有助於創建一個有向圖,其中任意屬性附加到每個頂點和邊。
  • 要操縱圖形,它支持各種基本運算符,如子圖,連接頂點和聚合消息。