当我从 Python-polars 库调用
DataFrame.sort()
时,RAM 跳转到其原始值的两倍以上。在处理大型数据集(我们谈论的是数十到数百 GB)时,这当然是一个问题。
是否有任何解决方法(即使在性能成本方面)可以减少 RAM 成本?
感谢您的任何提示。
根据 Polars 文档,您可以使用 Streaming API 来避免耗尽 RAM。 如 @Dean MacGregor 所示,您可以将 Streaming 与 polars.LazyFrame.sort
相关联DataFrame.lazy().sort().collect(streaming=True)
LazyFrame 只是一个利用这种惰性求值的 DataFrame。这是一种延迟表达式求值直到实际需要时的技术。