You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Rust中使用Polars按列分区保存Parquet文件?

Polars按列分区保存Parquet文件的实现方法

Polars完全支持按列分区保存Parquet文件,对应操作可通过ParquetWriter的partition_by方法实现,和pandas中to_parquet的partition_cols参数作用一致。

你可以修改原有代码,通过partition_by指定分区列,示例如下:

use polars::prelude::*;
use std::fs::File;
use std::io::Cursor;

pub fn store(data: Vec<Data>) {
    let json = serde_json::to_string(&data).unwrap();
    let cursor = Cursor::new(json);
    let mut df: DataFrame = JsonReader::new(cursor)
        .finish()
        .unwrap();

    // 替换为你需要作为分区依据的列名,比如"category"
    let partition_cols = ["category"];
    let mut buffer = File::create("foo.parquet").unwrap(); // 建议将后缀改为.parquet更规范
    let pw = ParquetWriter::new(buffer)
        .partition_by(&partition_cols);
    pw.finish(&mut df).unwrap();
    println!("{:?}", df)
}

当你运行这段代码时,Polars会根据指定列的不同取值自动创建对应的子目录结构,每个子目录下存储对应分区的Parquet数据文件。

内容的提问来源于stack exchange,提问作者Finlay Weber

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 01:15:31