簡體   English   中英

如何確定 modin dataframe 是否適合 RAM?

[英]How to figure out if a modin dataframe is going to fit in RAM?

我正在學習如何處理大型數據集,所以我正在使用 modin.pandas。 我正在做一些聚合,之后 50GB 數據集的大小有望變得接近 5GB - 現在我需要檢查:如果 df 足夠小以適合 RAM,我想將它轉換為 pandas 並享受一個無錯誤的可靠庫。 那么,自然而然地,問題是:如何檢查它? .memory_usage(deep=True).sum()告訴我整個 df 使用了多少,但我不可能從那個數字知道它有多少在 RAM 中,有多少在交換中——換句話說,有多少我需要空間才能將 df 轉換為 pandas。還有其他方法嗎? 我什至可以假設某些分區存在於 RAM 中而其他分區存在於交換空間中嗎? 當我調用._to_pandas()時,如何計算有多少數據會淹沒 RAM? 是否有某種隱藏的.__memory_usage_in_swap_that_needs_to_fit_in_ram()

我什至可以假設某些分區存在於 RAM 中而其他分區存在於交換空間中嗎?

Modin 沒有指定數據是應該在 RAM 中還是在交換區中。

在 Ray 上,它使用ray.put來存儲分區。 ray.put不保證數據將位於 go 的位置。請注意,當數據塊對於其內存中的 object 存儲來說太大時,Ray 會將數據塊溢出到磁盤。 您可以使用ray memory來匯總每個 Ray 使用的存儲量。

在 Dask 上,modin 使用dask.Client.scatter來存儲分區數據,它也不能保證數據將存儲在 go 的位置。 我不知道有什么方法可以確定有多少存儲數據確實在 RAM 中。

暫無
暫無

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

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