Polars
Polars 是一个基于 OLAP 查询引擎的内存中 DataFrame 库。它速度快、易于使用且 开源。
从版本 1.2.0
开始,Polars 为 Hugging Face 文件系统提供了 *原生* 支持。这意味着 Polars 查询优化器 (例如谓词和投影下推) 的所有优势都将被应用,并且 Polars 将仅加载完成查询所需的数据。这显着加快了读取速度,尤其是对于大型数据集 (请参阅 优化)
您可以使用 Hugging Face 路径 (hf://
) 来访问 Hub 上的数据
入门
要入门,您可以简单地在您的环境中 pip install
Polars
pip install polars
安装 Polars 后,您可以直接基于 Hugging Face URL 查询数据集。这不需要其他依赖项。
import polars as pl
pl.read_parquet("hf://datasets/roneneldan/TinyStories/data/train-00000-of-00004-2d5a1467fff1081b.parquet")
Polars 提供两个 API:一个延迟 API (scan_parquet
) 和一个急切 API (read_parquet
)。我们建议将急切 API 用于交互式工作负载,并将延迟 API 用于性能,因为它允许更好地优化查询。有关此主题的更多信息,请查看 Polars 用户指南。
Polars 支持使用通配符模式一次下载多个文件到一个 DataFrame 中。
pl.read_parquet("hf://datasets/roneneldan/TinyStories/data/train-*.parquet")
Hugging Face URL
Hugging Face URL 可以从 username
和 dataset
名称构造,如下所示
hf://datasets/{username}/{dataset}/{path_to_file}
路径可能包含通配符模式,例如 **/*.parquet
以查询匹配该模式的所有文件。此外,对于任何不支持的 文件格式,您可以使用 Hugging Face 使用 @~parquet 分支
提供的自动转换的 parquet 文件
hf://datasets/{my-username}/{my-dataset}@~parquet/{path_to_file}