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