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是一個用於操作圖形和執行圖形平行計算的庫。
  • 它有助於建立一個有向圖,其中任意屬性附加到每個頂點和邊。
  • 要操縱圖形,它支援各種基本運算子,如子圖,連線頂點和聚合訊息。