[英]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.