簡體   English   中英

Pyspark執行程序上任務和數據的非均勻分布

[英]Non-Uniform distribution of task and data on Pyspark executors

我在pyspark上運行應用程序。 對於此應用程序,以下是執行程序分布的快照。 看起來不均勻分布。 有人可以看一下並告訴問題出在哪里。

在此處輸入圖片說明

描述和我的問題:

我正在大量數據上運行我的應用程序,在其中過濾並加入3個數據集。 之后,我將緩存加入的數據集,以在不同的時間段內生成和聚合特征(意味着我的緩存數據集在循環中生成特征)。 之后,我嘗試將這些功能存儲在partquet文件中。 該鑲木地板文件花費太多時間。

有什么可以幫助我解決這個問題的嗎? 讓我知道您是否需要更多信息。

雖然我最初的建議是盡可能少地使用隨機操作(如連接)。 但是,如果您希望堅持下去,我可以提供一些建議,以下列方式調整您的SparkContext:

  • 使用Kryo序列化器
  • 通過網絡發送之前壓縮數據
  • 玩弄您的JVM垃圾回收
  • 增加隨機播放記憶

如您所說(強調我的):

我正在過濾並加入 3個數據集。 之后,我將緩存加入的數據集以生成和聚合功能

如果聯接鍵或分組列的分布不均勻,則聯接和較小程度上的聚合都可能導致數據的分布不均-這是必需的改組的自然結果。

在一般情況下,您幾乎無能為力。 在特定情況下,通過廣播或添加鹽分可能會有所收獲,但是在您的情況下,問題似乎並不十分嚴重。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM