你好,
我寫這篇文章,是因為我已經嚐試了很多不同的方向得到一個簡單的模型推理工作沒有成功。
這是工作的輪廓
# 1 -加載基本數據(~ 10億行~ 6列)= build_initial_df交互()# 2 -預處理的一些數據(~ 200到2000列)feature_df = add_metadata(交互,feature_transformer_model) # 3 -交叉功能建設和logisitic回歸推斷模型= PipelineModel.load (model_save_path) prediction_per_user = model.transform (feature_df) final_df = prediction_per_user.select(…) # 4 -寫最終結果write_df_to_snowflake (final_df)
這項工作合理當輸入數據的大小約為100小。
但在全麵失敗。
集群的規模是合理的:40 r5d。2超大給多一點2 tb在RAM中
執行的問題:
非常強烈ressource使用和泄漏大量的磁盤
問題:
我的理解ia模型推理是類似於地圖操作因此非常fractionable可以並行工作合理數量的計算。
我怎麼能把它給我的資源預算工作?我缺少什麼?
已經試過:
1)我已經嚐試使用udf MLflow模型但這並不工作列表功能由前任特性輸出管道模型
2)我殘疾的一些優化火花,因為它將運行階段,填補一個執行人磁盤或超時
3)迫使一些重新分區dataframe處理數據集的小塊(可能改善)
謝謝提前
很難分析沒有火花UI和更詳細的信息,但無論如何幾個技巧: