pola-rs/polars

Extremely fast Query Engine for DataFrames, written in Rust

它解决了什么问题

Polars 解决了在 DataFrame 中处理大型数据集时经常遇到的性能和内存限制问题。它提供了一个高性能引擎,可以通过流式处理来处理大于可用内存的数据集,同时自动优化查询以确保高效执行。

它是如何工作的

Polars 使用 Rust 编写,采用多线程向量化执行引擎,充分利用现代 CPU 的功能 (SIMD)。它支持即时 (eager) 和惰性 (lazy) 执行,允许引擎在运行前优化查询计划。它使用 Apache Arrow 格式进行零拷贝数据共享,确保与其他工具的高度互操作性。你可以使用强大且富有表现力的 API 组合复杂的数据转换,甚至可以使用自定义插件扩展引擎。

适用人群

Polars 专为需要高效处理大规模数据的数据科学家、工程师和分析师设计。它旨在为在 Python、Rust、Node.js、R 或 SQL 环境中工作,且需要传统 DataFrame 库的快速、可扩展替代方案的用户提供支持。

亮点

  • 通过多线程和向量化执行实现极快的性能。
  • 流式引擎允许处理大于计算机内存的数据集。
  • 针对惰性执行计划自动进行查询优化。
  • 支持多种语言,包括 Python、Rust、Node.js、R 和 SQL。
  • 为受支持的 NVIDIA 硬件提供可选的 GPU 加速。
  • 通过 I/O 和表达式插件实现原生可扩展性。

相关

  • 项目
  • 项目
  • 项目
  • 项目