我已經回答類似的問題StackOverflow我重複我所說的。
以下可能沒有完全解決你的問題,但應該給你一些指針開始。
你正麵臨的第一個問題不相稱的數據量和資源之間的關係。
這意味著因為你可能是並行收集當地(熊貓dataframe),火花就會使用默認的並行配置。這是最有可能導致
48
分區不到0.5 mb
每個分區。(火花不做與小文件和小分區)
第二個問題是相關的昂貴的優化/近似技術樹模型所使用的火花。
火花樹模型使用一些技巧來優化桶連續變量。小數據方式便宜得到準確的分割。在這種情況下它主要使用近似分位數。
通常,在單台機器框架的情況下,
scikit
樹模型,使用獨特的連續特性的特征值作為分割計算最適合的候選人。而在Apache火花,樹模型使用分位數為每個特性作為一個分裂的候選人。
另一個例子可能是模型調優:你不應該忘記,交叉驗證是一個沉重的和長期任務是成正比的組合3 hyper-parameters折疊的數量乘以所花費的時間來培訓每個模型(GridSearch方法)。你可能想要緩存數據示例首先但它仍然沒有獲得你太多的時間。我相信火花是一個多餘的數據量。你可能想要使用scikit學習相反,也許使用spark-sklearn分布式局部模型的訓練。
火花將分別學習每個模型和順序數據分布和大的假設。
當然你可以優化性能使用基於柱狀數據的文件格式與拚花和調優火花本身一樣,等它太廣泛的談論它。
你可以閱讀更多關於樹模型可伸縮性與spark-mllib以下網站:
不幸的是,給出的描述你的問題不允許我們提供進一步的建議,但我希望這些指針可能會有所幫助。