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

性能pyspark dataframe使用@pandas_udf後非常緩慢

RRO
貢獻者

你好,

我目前工作與FBProphet時間序列預測。因為我有許多時間序列數據組(3000年~)我用@pandas_udf並行化培訓。

@pandas_udf(模式,PandasUDFType.GROUPED_MAP) def forecast_netprofit (prophtrain):……返回results_pd time_series_id_column_names = [‘Grp1’,‘Grp2’,‘Grp3]結果= (prophtrain .groupby (time_series_id_column_names)蘋果(forecast_netprofit))

現在每次我想顯示或做一些操作結果dataframe性能很低。例如:先顯示1000行時間約為6分鍾。

有原因的性能結果是如此的緩慢,我能解決這個問題嗎?

7回複7

Kaniz
社區經理
社區經理

嗨@Rafael Rockenbach,這博客將演示性能基準在Apache Scala UDF之間火花™,PySpark UDF, PySpark熊貓UDF。

UDF-s一般很慢,因為火花不能優化SQL /預調功能一樣。

Hubert_Dudek1
尊敬的貢獻者三世

請指定類型提示功能,這樣你可以節省一些時間。類似(可以是不同的暗示,這是一個例子):

@pandas_udf(模式)

def forecast_netprofit (prophtrain: pd.Series) - > pd.Series

你也可以考慮使用.agg (forecast_netprofit (prophtrain))而不是蘋果()

RRO
貢獻者

謝謝你的答案。

不幸的是這沒有解決性能問題。

現在我做的是我保存的結果為一個表:

results.write.mode(“覆蓋”).saveAsTable (“db.results”)

這可能不是最好的解決方案,但這樣做後我可以處理結果的數據表。

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

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

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

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

Baidu
map