Apache Spark是一個框架 開源集群計算 提供集群編程的接口 帶有隱式數據並行性和容錯能力,Spark項目代碼庫已將其捐贈給負責其維護的Apache軟件基金會。
Apache Spark 可以被認為是通用的,面向速度的集群計算系統.
提供API 在Java,Scala,Python和R中使用 還提供了優化的引擎 通常支持圖形的執行。
還 支持廣泛而豐富的高級工具集 其中我知道 包括Spark SQL (用於基於SQL的結構化數據處理),用於實現機器學習的MLlib,用於圖形處理的GraphX和Spark Streaming。
Spark SQL是模塊 Apache Spark 用於處理結構化數據,在Spark應用程序中非常流行。 根據由Apache Spark的創建者創建的公司Databricks的說法,甚至Python和Scala開發人員也都使用Spark SQL引擎來完成許多工作。
今天,Spark是大數據處理,數據科學,機器學習和數據分析的事實上的框架。
關於Apache Spark 3.0
現在 該框架的版本為3.0 在最重要的新功能中,應注意的是 Spark 3.0的速度是以前的兩倍 與以前的版本相比,它依靠TPC-DS進行了優化。
實現了性能提升 通過改進 例如運行自適應查詢,修剪動態分區和其他優化。 與ANSI SQL標準的兼容性也得到了改善。
Spark 3.0是一個主要版本,已解決了3400多個票證,但在重大更改內,僅 他們將自己限制在SQL和Python等主要的新功能上。
阿帕奇星火3.0 通過大大改善對SQL和Python的支持來鞏固這一地位, 如今,Spark可以提供兩種最廣泛使用的語言,並且可以在各個級別提供許多優化。
PySpark是Python的Spark API,每月在Python包索引PyPI上的下載量超過5萬。 許多Python開發人員 他們將API用於數據分析,儘管它僅限於單節點處理。
因此,Python是 Spark 3.0開發的關鍵領域。 加快了Apache Spark上API的開發速度,以使數據科學家在分佈式環境中處理大數據時可以提高工作效率。
考拉消除了創建許多功能的需要 (例如圖形支持)在PySpark中,以在群集中獲得更好的性能。
到目前為止,我們可以說Spark的角色通常僅限於ETL(提取轉換負載)的角色。
這尤其可以顯著改善API,包括Python類型提示和其他熊貓UDF(用戶定義函數)。
Spark 3.0提供了更好的Python錯誤處理, 並且對用戶定義的R函數的調用速度提高了40倍。
還應注意,在Spark 3.0中, 所有修補程序中有46%用於SQL功能,從而提高了性能和ANSI兼容性。
那說, Spark SQL引擎中三個最重要的新功能是自適應查詢的執行。
優化方法 查詢通常集中在靜態查詢優化上。
由於Spark中存儲和處理的分離,因此數據的到達可能是不可預測的。 由於這些原因,對Spark而言,自適應查詢執行比對傳統系統而言更為關鍵。
您還可以在發行說明中查看許多其他功能。 功能涵蓋數據源,生態系統,監視,調試等。
您可以查看發行說明 通過轉到以下鏈接。