Apache Spark 元件
Apache Spark 是一個複雜的計算系統。它提供用 Python、Scala 和 Java 等程式語言編寫的更高級別的 API。在 Spark 中編寫並行作業很容易。它提供對資料的通用且更快的處理。它是用 Scala 編寫的,比其他系統更快。它用於處理大量資料集。它現在是最受關注的 Apache 專案。其關鍵特性是記憶體中複雜計算,這提高了資料處理速度。它的一些主要特性包括:多語言支援、平臺獨立性、高速、現代分析和通用性。
現在,我們瞭解了 Apache Spark 的一些重要特性,讓我們更深入地瞭解其元件。
Apache Spark 如何工作?
Hadoop 程式設計範例 MapReduce 使用分散式並行方法來處理大量資料。開發人員在建立大規模並行運算子時無需擔心容錯性。MapReduce 是執行作業所需的一系列多個步驟。它在每個步驟中讀取資料,執行操作,然後將結果寫回 HDFS。由於此原因,其作業速度較慢。
Apache Spark 的開發是為了解決 MapReduce 的限制。透過使用它,將資料讀入記憶體、執行操作和寫入結果的過程只需一步即可完成。這導致執行速度更快。
Apache Spark 元件
Apache Spark 包含六個元件。這些元件如下所述:
SPARK CORE
它被認為是平臺的基礎。它負責記憶體管理、作業排程、作業分發、故障恢復和作業監控以及與儲存系統的通訊。為 Python、Java、Scala 和 R 建立的 API 使其易於訪問。這些 API 涵蓋了分散式處理的複雜性和更高級別的運算子。
SPARK SQL
它可以被認為是一個分散式查詢引擎,它提供低延遲查詢,並且比 MapReduce 更快地提供互動式查詢。它包含數千個節點、基於成本的最佳化器和用於快速查詢的程式碼生成。它預裝了對多種資料來源的支援。從 Spark 包生態系統中,我們可以訪問 Amazon S3、Amazon Redshift、CouchBase 等知名儲存。
SPARK STREAMING
這是一種用於流分析的即時方法,它利用了 Spark Core 的快速排程能力。Spark Streaming 支援 Spark 包生態系統中許多知名來源,例如 Twitter、Flume 和 HDFS。它可以執行不同的演算法。它使用微批處理進行即時流式傳輸。
MLib
MLib 是演算法庫,是 Spark 的重要組成部分。它支援在機器學習上進行大規模資料處理。使用它可以快速進行機器學習。它被開發用於在儲存中執行的快速互動式計算。它包含各種演算法實現。
GRAPH X
Graph X 是基於 Spark 的分散式圖處理平臺。它帶有各種圖演算法和通用的 API。開發人員使用它來處理圖形資料和探索性分析等等。它幫助使用者使用圖形資料建立應用程式。
SPARK R
由於其簡單性和運行復雜演算法的能力,它是科學家常用的程式語言。它最大的缺點是隻有一個節點用於計算能力,因此它對於處理海量資料毫無用處。
Apache Spark 的優勢
Apache Spark 具有許多功能,其中一些如下所述:
快速 - 它可以對大型資料執行快速查詢。
使用者友好 - 它支援多種程式語言,如 Java、Python 等。
多工作負載 - 它可以無縫支援多工作負載。
平臺獨立 - 它可以在任何平臺上執行,無需太多麻煩。
結論
Apache Spark 是一個叢集計算系統。它是平臺獨立的,用於處理海量資料集。它提供用 Python、Java 和 Scala 編寫的更高級別的 API。它包含六個主要元件,即 Spark Core、Spark SQL、Spark Streaming、MLib、Graph X 和 Spark R。所有這些元件可以單獨使用,也可以一起使用。它可以執行多個工作負載,並且可以對大量資料執行快速查詢。它使編寫並行作業變得容易。它以其簡單性和運行復雜演算法的能力而聞名。