來自馬鐵大神的Spark10年回憶錄

xingoo發表於2020-07-27

本篇分享來自Martei在Spark AI Submit 2020的開場分享。

馬鐵是誰

什麼!你不知道馬鐵是誰?Martei Zaharia(說實話,不知道誰給起的中文名字叫馬鐵,跟著叫就是了),現任Databricks的CTO,也許Databricks你也不是很熟,Spark總是聽過的吧?可以說Spark就出自Martei之手,專案開源後組了個公司專門基於Spark提供企業服務。

先來看看Martei大神在LinkedIn的簡歷,你就知道他的背景有多牛了:

  • 2003-2007,就讀於滑鐵盧大學(加拿大前三的大學)
  • 2007-2012,就讀於加州伯克利讀博,其中07年在google實習3個月,08年在facebook實習一年.
  • 2015-2016,在MIT麻省理工任副教授。
  • 2016-至今,在史丹佛任副教授。
  • 從09年開始加入Apache,成為hadoop的commiter,14年開始成為apache spark的VP,13年開始擔任Databricks的CTO。

可以說想要學習現在最先進的分散式知識,follow下馬鐵的twitter就行了。

Spark的過去10年

回頭再來說說本次的分享,顯示回憶了Spark的發展歷程,然後介紹了當前Spark 3.0的主要特性,介紹Spark相關的生態元件。中間有美女介紹了koalas的使用以及3.0相關的特性展示。最後Martei推薦了《Learning Spark》第二版這本書。最後展望Spark的未來表示會持續優化 Spark 在探索資料分析和生產應用上的易用性,豐富Spark生態體系。

  • 2007年Martei攻讀博士,主要的研究方向是p2p系統。
  • 2008年在雅虎和facebook開始接觸資料中心,涉及到分散式與大資料計算。可惜當時的分散式計算主要是依賴於MapReduce,編寫困難,缺乏互動式的查詢,也不支援機器學習。
  • 2009回到伯克利開始研究分散式機器學習框架,開始了Spark相關的工作。
  • 2010年開源了第一版的Spark。
  • 2010-2011年針對社群的需求,開始了互動式查詢、Streaming流處理、R和SQL API的支援等工作。
  • 2012-2015年,豐富了Spark的生態,支援更多的API,比如Python、R、SQL;支援更多的元件庫,如機器學習、圖計算、流計算;支援更高階的API,比如DataFrame、Spark SQL等。

至今為止,有68%的使用者在notebook中使用Python操作Spark;超過90%的API通過Spark SQL來執行。

總結過去的Spark開源10年曆程,得到最大的經驗就是:

  • 1 產品的易用性,無論是資料探索還是生產應用
  • 2 API的最佳實踐,比如元件、測試、模組化。

Spark 3.0

最近Spark釋出了3.0版本,超過3400多次升級特性,46%與SQL相關:

最主要的特性有:

  • 1 AQE,自適應查詢計劃。比如動態調整分割槽數、動態調整join演算法、自動處理資料傾斜問題
  • 2 動態分割槽裁剪
  • 3 編譯器速度優化
  • 4 優化器程式碼提示
  • 5 ANSI SQL的支援
  • 6 Python API的優化
  • 7 R API的優化
  • 8 新的流處理UI、更易用的流指標統計、SQL使用文件、Data Source V2 API、GPU加速等。

相關的特性再上一篇也有介紹過,詳情前一篇文章:Spark 3.0 新特性

Spark的生態

比如:

  • 1 基於pandas API呼叫Spark的Koalas
  • 2 支援批流一體化的Delta Lake
  • 3 Sklearn、Hyperort、Joblib等基於Spark的分散式擴充套件方案
  • 4 用於大規模基因分析的GLOW
  • 5 用於GPU加速的python庫rapids
  • 6 用於視覺化的tableau, qlik, looker, redash等

參考

最後關注公眾號,可以直接觀看文中視訊,回覆 learning spark 就可以獲得對應的電子書。

相關文章