polars_io/parquet/read/
options.rs1use polars_core::schema::SchemaRef;
2#[cfg(feature = "serde")]
3use serde::{Deserialize, Serialize};
4
5#[derive(Clone, Debug, PartialEq, Eq, Hash)]
6#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
7#[cfg_attr(feature = "dsl-schema", derive(schemars::JsonSchema))]
8pub struct ParquetOptions {
9 pub schema: Option<SchemaRef>,
10 pub parallel: ParallelStrategy,
11 pub low_memory: bool,
12 pub use_statistics: bool,
13}
14
15impl Default for ParquetOptions {
16 fn default() -> Self {
17 Self {
18 schema: None,
19 parallel: ParallelStrategy::default(),
20 low_memory: false,
21 use_statistics: true,
22 }
23 }
24}
25
26#[derive(Copy, Clone, Debug, Eq, PartialEq, Default, Hash)]
27#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
28#[cfg_attr(feature = "dsl-schema", derive(schemars::JsonSchema))]
29pub enum ParallelStrategy {
30 None,
32 Columns,
34 RowGroups,
36 Prefiltered,
44 #[default]
47 Auto,
48}