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是一個用於操作圖形和執行圖形並行計算的庫。
- 它有助於創建一個有向圖,其中任意屬性附加到每個頂點和邊。
- 要操縱圖形,它支持各種基本運算符,如子圖,連接頂點和聚合消息。
上一篇:
Spark架構
下一篇:
彈性分佈式數據集(RDD)簡介