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