跳轉到主要內容
工程的博客

更新項目戰:改善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年知道主題

玩這個視頻,請點擊這裏,接受餅幹


展示新PySpark文檔

此外,文檔字符串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帶來可視化支持。

例子可視化繪製火花DataFrame通過使用考拉將由禪宗磚”的項目。


策劃火花DataFrame使用考拉

標準化的警告和異常

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開發人員和數據科學家使用火花時更加成功。

免費試著磚
看到所有工程的博客的帖子
Baidu
map