跳轉到主要內容
工程的博客”>
             <noscript>
              <img data-gatsby-image-ssr=

介紹Apache火花™3.2

現在可以在磚10.0運行時
分享這篇文章

我們興奮地宣布的可用性Apache火花™3.2磚的一部分磚10.0運行時。我們想感謝Apache引發社會的價值貢獻引發3.2版本。

火花的月度maven下載的數量迅速增加2000萬年。月度同比增長率代表一倍的火花下載在去年。火花已成為最廣泛使用的引擎執行數據工程,數據科學和機器學習在單節點機器或集群。

Apache火花已成為最廣泛使用的引擎執行數據工程,數據科學和機器學習在單節點機器或集群。”height=

繼續使火花更加統一的目標,簡單、快速、可伸縮、火花3.2擴展其範圍具有以下特點:

  • 介紹熊貓API在Apache火花統一小數據API和大數據API(了解更多信息在這裏)。
  • 完成ANSI SQL兼容性模式為了簡化SQL工作負載的遷移。
  • Productionizing自適應查詢執行在運行時加快火花SQL。
  • 引入RocksDB statestore使國家處理更具有可伸縮性。

在這篇文章中,我們總結的一些高級特性和改進。留意即將到來的帖子,深入研究這些特性。主要功能的綜合列表所有組件和火花JIRA票解決,請參見Apache 3.2.0火花發布說明

統一的小型數據API和大數據API

Python是使用最廣泛的語言在火花。使火花更神諭的,熊貓API引入火花,的一部分項目禪(見也在PySpark項目禪:簡化數據科學從數據+人工智能峰會2021)。現在,熊貓的現有用戶可以擴展他們的熊貓應用一行改變。如下所示,可以大大提高性能單節點機(左)和多節點集群火花(右),由於複雜的優化在火花引擎。

熊貓在單節點性能可以大大提高機器(左)和多節點集群(右),由於複雜的優化在火花引擎。”src=
圖。熊貓和熊貓API火花

同時,Python用戶還可以無縫地利用火花中提供的統一的分析功能,包括通過SQL查詢數據,流媒體處理和可擴展的機器學習(ML)。新的熊貓API還提供了交互式數據可視化的情節後端。

新磚熊貓API還提供了交互式數據可視化,這是由陰謀後端。”height=

更多細節,請參見博文“熊貓在即將到來的Apache火花™3.2 API

簡化SQL遷移

ANSI SQL特性(例如,橫向連接支持)補充道。經過一年多的發展,ANSI SQL模式GA在此版本中。為了避免大規模behavior-breaking變化,spark.sql.ansi模式”。默認情況下啟用“仍然是禁用。ANSI模式包括以下主要行為變化:

  • 運行時錯誤投擲而不是沉默的無知與零結果當輸入SQL操作符/函數是無效的(火星- 33275)。例如,整數值算術運算溢出錯誤,或在鑄造字符串解析錯誤數字/時間戳類型。
  • 標準化的強製類型轉換語法規則(火星- 34246)。新規則定義是否值給定的數據類型可以被提升到另一個數據類型隱式的基礎上數據類型的優先級列表,這是比默認的non-ANSI模式更簡單。
  • 新的明確的語法規則(火星- 33354)。當火花查詢包含非法類型鑄造(例如,日期/時間戳類型是把數字類型)編譯時通知用戶,也會拋出錯誤的無效的轉換。

這個版本還包括一些新舉措尚未完全結束。例如,標準化在引發異常消息(火星- 33539);引入ANSI間隔類型(火星- 27790)和改善相關子查詢的報道(火星- 35553)。

在運行時加速火花SQL

自適應查詢執行(AQE)在這個版本默認啟用(火星- 33679)。性能改進,AQE可以優化查詢執行計劃在運行時基於準確的統計數據。維護和pre-collection大數據的統計是昂貴的。缺乏準確的統計數據往往會導致低效率的計劃,無論多麼先進的優化器。在這個版本中,AQE變得完全兼容所有現有的查詢優化技術(例如,動態分區修剪)優化連接策略,斜加入和洗牌分區合並。

小的數據和大數據都應該以高效的方式處理的統一數據分析係統。短的查詢性能變得同樣重要。火花的開銷查詢編譯時重要複雜的查詢處理的數據量是相當小的。進一步減少查詢編譯延遲,火花3.2.0砍掉不必要的查詢計劃遍曆分析儀/優化規則(火星- 35042,火星- 35103),加速建設新的查詢計劃(火星- 34989)。因此,減少TPC-DS的編譯時間查詢61%,而火花3.1.2。

ApacheSpark 3.2現在通常用於磚磚10.0運行時的一部分”height=

更加可伸縮狀態處理流

狀態存儲的默認實現結構化流不是可伸縮以來的狀態,可以維護被執行人的堆大小有限。在本版本中,磚導致火花社區RocksDB-based狀態存儲實現,已用於磚生產超過四年。這種狀態存儲可以通過排序鍵,避免全掃描和數據從磁盤,而不依賴於服務執行人的堆大小。

RocksDB狀態存儲的高級體係結構”height=

此外,狀態存儲API是豐富的API前綴匹配掃描(火星- 35861有效地支持基於事件時間sessionization) (火星- 10816),它允許用戶做聚合在對eventTime會話窗口。有關詳細信息,請閱讀博客”本機支持Apache火花的結構化流媒體會話窗口”。

3.2其他更新的火花

除了這些新功能,發布關注可用性、穩定性、和細化,解決約1700 JIRA門票。貢獻的結果從超過200個參與者,包括個人和公司如磚、蘋果、Linkedin、Facebook、微軟、英特爾、阿裏巴巴、英偉達,Netflix, Adobe和許多更多。我們強調了許多重要的SQL, Python和流數據引發了後來的這篇博客的進步,但有很多額外的功能在3.2裏程碑,包括codegen報道改進和連接器的增強,可以了解更多的發布說明

Apache 3.2版本包括一長串火花主要和次要的增強,關注可用性、穩定性和細化,反映出x貢獻者在1700 JIRA票的工作。”height=

今天開始使用火花3.2

如果你想嚐試Apache 3.2火花磚10.0運行時,報名參加磚Community Edition或磚的試驗,這兩個是免費的,並在幾分鍾內開始。使用火花3.2非常簡單,隻需選擇版本“10.0”時啟動集群。

磚的運行時版本的選擇在創建一個集群。”height=


免費試著磚

相關的帖子

看到所有工程的博客的帖子