我發現默認情況下,polars 的輸出 Parquet 檔案比 Spark 輸出的 Parquet 檔案大 35% 左右(在相同資料上)。Spark 默認使用 snappy 進行壓縮,如果我將 ParquetCompression 切換到極地中的 snappy,它也無濟于事。我想知道這是因為極地使用更保守的壓縮比嗎?有什么方法可以控制 Polars 中 Parquet 檔案的壓縮級別?我檢查了極地的檔案,似乎只有 Zstd 接受 ZstdLevel (甚至不確定它是否是壓縮級別)。
下面是我使用 snappy 壓縮將 DataFrame 寫入 Parquet 檔案的代碼。
let f = File::create("j.parquet").expect("Unable to create the file j.parquet!");
let mut bfw = BufWriter::new(f);
let pw = ParquetWriter::new(bfw).with_compression(ParquetCompression::Snappy);
pw.finish(&mut df);
uj5u.com熱心網友回復:
這在rust polars. 它可能會在下一個版本中發布,arrow2然后我們也可以在 Polars 中實作它。
如果你想要這個功能,python polars你可以利用pyarrow這個目的。polars與pyarrow.
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/480602.html
