Repolode
pola-rs

pola-rs/polars

用 Rust 编写的高速 DataFrame 查询引擎,支持 Python、Node.js、R、Rust 和 SQL。

可替代:pandas

Star
40,274
Fork
3,221
未关闭 Issue
2,953
最近提交
24小时前

这是什么?

Polars 是一个用 Rust 编写的 DataFrame 分析查询引擎。它同时支持惰性执行和即时执行,惰性查询会先经过优化,再利用所有可用的 CPU 核心并行运行。流式引擎可以分块处理查询,从而处理超过内存容量的数据集。

API 基于可组合的表达式构建,过滤、分组、聚合、排序等操作可以串联成一条查询。数据采用 Apache Arrow 列式格式存储,便于与其他基于 Arrow 的工具零拷贝共享。用户还可以通过 I/O 与表达式插件扩展功能,并可选择启用 NVIDIA GPU 加速查询。

项目提供 Python、Rust、Node.js、R 和 SQL 等语言绑定,可通过 pip、npm、crates.io 等渠道安装。

核心功能

  • 01惰性与即时两种执行模式,内置查询优化
  • 02流式引擎可处理超过内存容量的数据集
  • 03多线程、向量化(SIMD)执行
  • 04基于表达式的 API,便于组合复杂查询
  • 05采用 Apache Arrow 列式格式,支持零拷贝数据共享
  • 06可选 NVIDIA GPU 加速,并支持自定义 I/O 与表达式插件

适用场景

  • 在单机上分析无法全部载入内存的大型 Parquet 或 CSV 文件
  • 用更快的过滤与分组聚合替代较慢的 pandas 工作流
  • 在 Rust 或 Node.js 项目中构建需要 DataFrame 引擎的数据管道
  • 运行可扩展到集群的大规模查询任务

快速上手

  1. 1

    使用 pip 安装 Python 版 Polars

    pip install polars
  2. 2

    对 Parquet 文件运行惰性查询(将 orders.parquet 替换为你的文件)

使用前须知

  • Python 安装最简单;从源码构建需要 Rust 工具链和 maturin。

标签

#dataframe#query-engine#rust#python#data-processing#arrow#columnar#analytics#dataframe-library#dataframes

常见问题

polars 是什么?
用 Rust 编写的高速 DataFrame 查询引擎,支持 Python、Node.js、R、Rust 和 SQL。 Polars 是一个用 Rust 编写的 DataFrame 分析查询引擎。它同时支持惰性执行和即时执行,惰性查询会先经过优化,再利用所有可用的 CPU 核心并行运行。流式引擎可以分块处理查询,从而处理超过内存容量的数据集。
polars 可以免费使用吗?用的什么许可证?
polars 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
polars 还在维护吗?
活跃维护中。polars 最近一次提交是在 2026年11月6日。
polars 适合用来做什么?
在单机上分析无法全部载入内存的大型 Parquet 或 CSV 文件 用更快的过滤与分组聚合替代较慢的 pandas 工作流 在 Rust 或 Node.js 项目中构建需要 DataFrame 引擎的数据管道 运行可扩展到集群的大规模查询任务
polars 怎么安装和运行?
使用 pip 安装 Python 版 Polars: pip install polars 对 Parquet 文件运行惰性查询(将 orders.parquet 替换为你的文件)
在哪里获取 polars?
源代码和安装说明在 GitHub 上:https://github.com/pola-rs/polars

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目