Folia
← 返回头版

Polars 2.0发布,引入磁盘溢出与流式处理默认选项

Polars 2.0版本正式发布,为这个数据处理引擎引入了多项关键功能更新1。其中最重要的改进包括启用初始版本的磁盘溢出(spill-to-disk)支持、将流式引擎设为LazyFrame的collect()默认选项,以及将SQL提升为一级特性1。磁盘溢出功能在系统RAM达到约80%时自动启动,设置了64GB的磁盘预算上限1。

新版本还新增了Map数据类型,提供key查询、contains_key、keys()和values()等字典类方法的支持1。值得注意的是,流式引擎的默认启用对join、group_by、unpivot等操作无法保证行顺序的维持,用户需通过设置maintain_order=True来手动启用顺序保障1。同时,SQL功能范围显著扩展,优化器改进涵盖join重排、公共子计划消除和动态谓词/bloom过滤等优化策略1。

根据TPC-H和TPC-DS基准测试结果,Polars在性能上表现突出1。在c7a.4xlarge(16个虚拟CPU,32GB内存)和c7a.metal(192个虚拟CPU,384GB内存)两种配置下,Polars均超越DuckDB 1.5.6、DuckDB 2.0 alpha和DataFusion 54.0.01。当Polars限制到32核时,在所有基准测试中都具有竞争力或获胜1。从16个虚拟CPU扩展到192个虚拟CPU时,Polars的TPC-H性能提升3.8倍,TPC-DS性能提升2.2倍1。


来源

  1. Hacker NewsRelease of Polars 2.0

评论