2017-10-08 117 views
0

我希望我不會得到這個問題的反對票。這是令人困惑的多個火花版本,所以讓我反問。請注意,這個問題純粹是從性能角度和而不是開發人員的生產力/技能角度。我是新來的火花,許多人想知道2017年的最新狀況。PySpark和斯卡拉

我知道與python的JIT問題,這不是問題在這裏。這純粹來自PySpark的角度。


我仍然無法相比,使用火花API從斯卡拉直接(或如果在所有它是虛假的陳述)時,爲什麼PySpark據報道聽不進去。基於我的搜索,性能影響基於被訪問的API。

對於RDD:基金會,來自spark worker的數據被序列化併發送給python worker。在某些操作中雙重序列化會導致代價昂貴(當然,這取決於分階段的管道和操作,但是如果有一個shuffle操作,那麼這將導致python進程再次與java worker進行通信,從而導致序列化)。這個談話sheds就在它上面。

但事情看起來不同,數據集API。據報道,它從所有語言(source)執行相同的操作。

的問題是:

  • 是我的理解正確的從上面?當PySpark實際上變慢時,有人可以提供更多的信息嗎?或者是由於缺乏JIT而導致的緩慢,而不是任何錯綜複雜的情況。
  • 面臨哪些實際問題與PySpark如果RDD的使用

回答

2

如果您使用的數據幀僅API內置函數那麼Python的開銷應該是非常低的(只是API包裝)。但是,如果您使用UDF或映射到RDD的任何東西(例如地圖),那麼pyspark會更慢。

它慢的原因在您分享的視頻中有很好的解釋。