取消
顯示的結果
而不是尋找
你的意思是:

為什麼火花和大量dataframe列很慢嗎

z160896
新的貢獻者二世

scala火花應用:我有一個130 x14000的數據集。我和SparkSession鋪文件讀取。然後用於火花毫升隨機森林模型(使用管道)。完成需要7個小時!閱讀鋪文件大約需要1分鍾。如果我實現它,它隻需要不到3秒鍾完成(從閱讀和完成的數據建模)。可能是Scala的問題,引發Dataframe實現嗎?

2回答2

z160896
新的貢獻者二世

對不起我的意思是:當我實現它在Python中,完成需要不到3秒(從閱讀和完成的數據建模)

EliasHaydar
新的貢獻者二世

我已經回答類似的問題StackOverflow我重複我所說的。

以下可能沒有完全解決你的問題,但應該給你一些指針開始。

你正麵臨的第一個問題不相稱的數據量和資源之間的關係

這意味著因為你可能是並行收集當地(熊貓dataframe),火花就會使用默認的並行配置。這是最有可能導致

48
分區不到
0.5 mb
每個分區。(火花不做與小文件和小分區)

第二個問題是相關的昂貴的優化/近似技術樹模型所使用的火花。

火花樹模型使用一些技巧來優化桶連續變量。小數據方式便宜得到準確的分割。在這種情況下它主要使用近似分位數。

通常,在單台機器框架的情況下,

scikit
樹模型,使用獨特的連續特性的特征值作為分割計算最適合的候選人。而在Apache火花,樹模型使用分位數為每個特性作為一個分裂的候選人。

另一個例子可能是模型調優:你不應該忘記,交叉驗證是一個沉重的和長期任務是成正比的組合3 hyper-parameters折疊的數量乘以所花費的時間來培訓每個模型(GridSearch方法)。你可能想要緩存數據示例首先但它仍然沒有獲得你太多的時間。我相信火花是一個多餘的數據量。你可能想要使用scikit學習相反,也許使用spark-sklearn分布式局部模型的訓練。

火花將分別學習每個模型和順序數據分布和大的假設。

當然你可以優化性能使用基於柱狀數據的文件格式與拚花和調優火花本身一樣,等它太廣泛的談論它。

你可以閱讀更多關於樹模型可伸縮性與spark-mllib以下網站:

  • 可伸縮MLlib決策樹

不幸的是,給出的描述你的問題不允許我們提供進一步的建議,但我希望這些指針可能會有所幫助。

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map