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

迭代——Pyspark vs熊貓

elgeo
重視貢獻二世

你好。有人能解釋為什麼迭代Pyspark dataframe遠遠低於在熊貓dataframe嗎?

Pyspark

df_list = df.collect ()

指數的範圍(0,len (df_list)):

.....

熊貓

df_pnd = df.toPandas ()

指數,行df_pnd.iterrows ():

....

提前謝謝你

1接受解決方案

接受的解決方案

Kaniz
社區經理
社區經理

嗨@ELENI GEORGOUSI,

遍曆一個PySpark DataFrame可以低於遍曆一個熊貓DataFrame幾個原因:

  1. PySpark是一個分布式計算引擎設計了處理大型數據集,不能適應記憶。這意味著PySpark操作優化並行處理和數據轉移,可以慢對於小數據集,可以放入內存。相比之下,熊貓是內存優化處理較小的數據集,以便它可以更快更小的數據集。
  2. PySpark DataFrame操作懶洋洋地評估,這意味著操作才執行一個動作。這可能會導致延遲當遍曆PySpark DataFrame,特別是如果DataFrame有很多分區或者大量的洗牌。
  3. PySpark DataFrame操作是實現Java和JVM上運行,而熊貓是在Python中實現並運行在CPython翻譯。這意味著PySpark DataFrame操作之間產生一些由於進程間通信開銷JVM和Python。
  4. PySpark DataFrame操作可以包括序列化和反序列化的數據,可以低於直接處理數據在內存中,就像熊貓。

總之,遍曆一個PySpark DataFrame可以低於遍曆一個熊貓DataFrame由於不同的設計和實現。

如果你需要使用較小的數據集,可以放入內存中,熊貓性能的原因可能是一個更好的選擇。

但是,如果需要處理更大的數據集,不能適應記憶,PySpark可伸縮性和分布式處理的可能是必要的。

在原帖子查看解決方案

2回答2

Kaniz
社區經理
社區經理

嗨@ELENI GEORGOUSI,

遍曆一個PySpark DataFrame可以低於遍曆一個熊貓DataFrame幾個原因:

  1. PySpark是一個分布式計算引擎設計了處理大型數據集,不能適應記憶。這意味著PySpark操作優化並行處理和數據轉移,可以慢對於小數據集,可以放入內存。相比之下,熊貓是內存優化處理較小的數據集,以便它可以更快更小的數據集。
  2. PySpark DataFrame操作懶洋洋地評估,這意味著操作才執行一個動作。這可能會導致延遲當遍曆PySpark DataFrame,特別是如果DataFrame有很多分區或者大量的洗牌。
  3. PySpark DataFrame操作是實現Java和JVM上運行,而熊貓是在Python中實現並運行在CPython翻譯。這意味著PySpark DataFrame操作之間產生一些由於進程間通信開銷JVM和Python。
  4. PySpark DataFrame操作可以包括序列化和反序列化的數據,可以低於直接處理數據在內存中,就像熊貓。

總之,遍曆一個PySpark DataFrame可以低於遍曆一個熊貓DataFrame由於不同的設計和實現。

如果你需要使用較小的數據集,可以放入內存中,熊貓性能的原因可能是一個更好的選擇。

但是,如果需要處理更大的數據集,不能適應記憶,PySpark可伸縮性和分布式處理的可能是必要的。

Vidula_Khanna
主持人
主持人

嗨@ELENI GEORGOUSI

希望一切進行得很順利。

隻是想檢查如果你能解決你的問題。如果是的,你會很高興的答案標記為最好,其他成員可以找到解決方案更快嗎?如果不是,請告訴我們,我們可以幫助你。

幹杯!

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

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

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

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

Baidu
map