繁体   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