更新項目戰:改善Apache為Python用戶火花
2020年9月4日 在工程的博客
Apache火花™已經達到10周年Apache 3.0火花這有許多重大的改進和新特性包括但不限於在熊貓UDF類型提示支持udf,更好的錯誤處理,火花SQL自適應查詢執行。這已經是最成功的開源項目作為事實上的數據科學統一的引擎。事實上,Apache火花已達到高原期Gartner炒作周期在數據科學和機器學習指向其持久的力量。
隨著Apache火花,PySpark用戶的數量迅速增長。68%的磚上筆記本命令是在Python中。幾乎PySpark用戶的數量跳起來去年的三倍。Python編程語言本身成為最常用的語言之一在科學數據。
有了這個動力,激發社區開始更加關注Python和PySpark,和在一個倡議我們命名為項目禪命名Python的禪定義Python本身的原則。
這篇文章介紹了項目禪宗PySpark發展和我們的未來計劃側重於以下即將到來的特點:
- 重新設計PySpark文檔
- PySpark類型提示
- 可視化
- 標準化的警告和異常
- JDK,蜂巢和Hadoop分布為PyPI用戶選項
重新設計PySpark文檔
PySpark文檔的結構和布局為五年多沒有更新,因為日子抽樣是唯一一個麵向用戶的API,它已更側重於發展參考而不是可讀性。例如,它列出所有的類和方法在一個頁麵。它沒有用戶指南或快速入門,並很難導航。
作為項目的一部分,禪宗,重新設計PySpark文檔正在重發展不僅為用戶提供結構化的API參考以及有意義的例子,場景,快速入門指南——但也專門遷移指南和先進的用例。新PySpark文檔的示範介紹了2020年知道主題。
此外,文檔字符串numpydoc風格(參考:火星- 32085)作為當前PySpark文檔字符串和生成的HTML頁麵可讀性。
切換到numpydoc使我們能夠有一個更好的文檔字符串;例如,這個提示:
”““指定一些提示當前類:“DataFrame”。:參數名稱:一個名字的暗示。:param參數:可選參數。:返回::類:“DataFrame”
變得更加可讀的文檔字符串的numpydoc樣式如下:
”““指定一些提示當前類:“DataFrame”。參數- - - - - - - - - - -名稱:str一個名字的暗示。參數:dict類型,可選的可選參數返回- - - - - - -DataFrame
此外,它生成更具可讀性和結構化API參考在HTML中指出這個例子。
PySpark類型提示
項目是一個重要的路線圖Python類型提示PySpark api的支持。Python類型提示被官方介紹PEP 484與Python 3.5靜態顯示一個值的類型在Python中,並利用它有許多好處,如自動完成,IDE支持,自動文檔,等等。
這種暗示支持PySpark api作為第三方實現,我們目前正式港口到PySpark PySpark提高可用性。這是在即將到來的Apache火花3.1路線圖。
提示類型支持用戶將能夠做靜態錯誤檢測和自動完成如下所示:
可視化
可視化數據是數據科學的重要組成部分,因為它可以幫助人們理解趨勢一眼,迅速做出明智的決定。目前,沒有本地PySpark可視化支持,因此開發人員通常就叫DataFrame.summary ()
得到一個數字和表將采樣數據可視化的一個子集庫等matplotlib和考拉,或依賴於其他第三方商業智能和大數據分析工具。
可視化的支持是項目禪宗的路線圖PySpark api直接支持用戶DataFrames情節。考拉已經實現了從火花DataFrame策劃(見下麵的例子),這可以很容易地利用給PySpark帶來可視化支持。
標準化的警告和異常
PySpark錯誤和警告類型是模糊和模糊分類。當用戶麵對一個異常或警告,通常它是一個普通的例外或UserWarning。例如,
> > >火花。範圍(10).explain (1,2)回溯(最近的電話):…例外:擴展和模式應不是集在一起。
這使得用戶很難通過編程的方式采取行動異常,例如try-except語法。
現在在路線圖中定義的分類異常和細粒度的警告,這樣用戶可以期待哪些異常和發布警告的情況下,並適當地采取相應的行動。
JDK,蜂巢和Hadoop分布為PyPI用戶選項
皮普
是一個非常簡單的方法來安裝PySpark從PyPI每月超過500萬的下載量。用戶隻要輸入pip安裝pyspark
和運行PySpark外殼或提交應用程序集群。同時,Apache引發了許多概要文件分發時需要考慮的,例如,JDK 11日Hadoop 3,蜂巢2.3支持。
不幸的是,PySpark默認隻支持一個組合時從PyPI:下載JDK 8,蜂巢1.2和Apache的Hadoop 2.7 3.0火花。
作為項目的一部分,禪宗,分配選項將提供給用戶,用戶可以選擇他們想要的資料。用戶可以簡單地從PyPI安裝和使用任何現有的集群火花。這是被跟蹤火星- 32017。
接下來是什麼?
正在進行項目禪宗由於巨大的來自社區的努力。PySpark文檔,PySpark類型提示,和可選的配置文件在PyPI分布是有針對性的介紹了為即將到來的Apache 3.1火花。沉重的其他項目開發將在稍後的火花。
Apache火花的地方比以往更加重視PySpark和Python並將繼續提高其可用性以及性能幫助Python開發人員和數據科學家使用火花時更加成功。