Struct deltalake::datafusion::datasource::file_format::options::ParquetReadOptions
source · pub struct ParquetReadOptions<'a> {
pub file_extension: &'a str,
pub table_partition_cols: Vec<(String, DataType)>,
pub parquet_pruning: Option<bool>,
pub skip_metadata: Option<bool>,
pub schema: Option<&'a Schema>,
pub file_sort_order: Vec<Vec<Expr>>,
}
Expand description
Options that control the reading of Parquet files.
Note this structure is supplied when a datasource is created and
can not not vary from statement to statement. For settings that
can vary statement to statement see
ConfigOptions
.
Fields§
§file_extension: &'a str
File extension; only files with this extension are selected for data input. Defaults to “.parquet”.
table_partition_cols: Vec<(String, DataType)>
Partition Columns
parquet_pruning: Option<bool>
Should the parquet reader use the predicate to prune row groups? If None, uses value in SessionConfig
skip_metadata: Option<bool>
Should the parquet reader to skip any metadata that may be in the file Schema? This can help avoid schema conflicts due to metadata.
If None specified, uses value in SessionConfig
schema: Option<&'a Schema>
An optional schema representing the parquet files. If None, parquet reader will try to infer it based on data in file.
file_sort_order: Vec<Vec<Expr>>
Indicates how the file is sorted
Implementations§
source§impl<'a> ParquetReadOptions<'a>
impl<'a> ParquetReadOptions<'a>
sourcepub fn parquet_pruning(self, parquet_pruning: bool) -> ParquetReadOptions<'a>
pub fn parquet_pruning(self, parquet_pruning: bool) -> ParquetReadOptions<'a>
Specify parquet_pruning
sourcepub fn skip_metadata(self, skip_metadata: bool) -> ParquetReadOptions<'a>
pub fn skip_metadata(self, skip_metadata: bool) -> ParquetReadOptions<'a>
Tell the parquet reader to skip any metadata that may be in the file Schema. This can help avoid schema conflicts due to metadata. Defaults to true.
sourcepub fn schema(self, schema: &'a Schema) -> ParquetReadOptions<'a>
pub fn schema(self, schema: &'a Schema) -> ParquetReadOptions<'a>
Specify schema to use for parquet read
sourcepub fn table_partition_cols(
self,
table_partition_cols: Vec<(String, DataType)>
) -> ParquetReadOptions<'a>
pub fn table_partition_cols( self, table_partition_cols: Vec<(String, DataType)> ) -> ParquetReadOptions<'a>
Specify table_partition_cols for partition pruning
sourcepub fn file_sort_order(
self,
file_sort_order: Vec<Vec<Expr>>
) -> ParquetReadOptions<'a>
pub fn file_sort_order( self, file_sort_order: Vec<Vec<Expr>> ) -> ParquetReadOptions<'a>
Configure if file has known sort order
Trait Implementations§
source§impl<'a> Clone for ParquetReadOptions<'a>
impl<'a> Clone for ParquetReadOptions<'a>
source§fn clone(&self) -> ParquetReadOptions<'a>
fn clone(&self) -> ParquetReadOptions<'a>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<'a> Default for ParquetReadOptions<'a>
impl<'a> Default for ParquetReadOptions<'a>
source§fn default() -> ParquetReadOptions<'a>
fn default() -> ParquetReadOptions<'a>
source§impl ReadOptions<'_> for ParquetReadOptions<'_>
impl ReadOptions<'_> for ParquetReadOptions<'_>
source§fn to_listing_options(
&self,
config: &SessionConfig,
table_options: TableOptions
) -> ListingOptions
fn to_listing_options( &self, config: &SessionConfig, table_options: TableOptions ) -> ListingOptions
ListingTable
optionssource§fn get_resolved_schema<'life0, 'life1, 'async_trait>(
&'life0 self,
config: &'life1 SessionConfig,
state: SessionState,
table_path: ListingTableUrl
) -> Pin<Box<dyn Future<Output = Result<Arc<Schema>, DataFusionError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
ParquetReadOptions<'_>: 'async_trait,
fn get_resolved_schema<'life0, 'life1, 'async_trait>(
&'life0 self,
config: &'life1 SessionConfig,
state: SessionState,
table_path: ListingTableUrl
) -> Pin<Box<dyn Future<Output = Result<Arc<Schema>, DataFusionError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
ParquetReadOptions<'_>: 'async_trait,
source§fn _get_resolved_schema<'life0, 'async_trait>(
&'a self,
config: &'life0 SessionConfig,
state: SessionState,
table_path: ListingTableUrl,
schema: Option<&'a Schema>
) -> Pin<Box<dyn Future<Output = Result<Arc<Schema>, DataFusionError>> + Send + 'async_trait>>where
'a: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn _get_resolved_schema<'life0, 'async_trait>(
&'a self,
config: &'life0 SessionConfig,
state: SessionState,
table_path: ListingTableUrl,
schema: Option<&'a Schema>
) -> Pin<Box<dyn Future<Output = Result<Arc<Schema>, DataFusionError>> + Send + 'async_trait>>where
'a: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
Self: Sync + 'async_trait,
Auto Trait Implementations§
impl<'a> Freeze for ParquetReadOptions<'a>
impl<'a> !RefUnwindSafe for ParquetReadOptions<'a>
impl<'a> Send for ParquetReadOptions<'a>
impl<'a> Sync for ParquetReadOptions<'a>
impl<'a> Unpin for ParquetReadOptions<'a>
impl<'a> !UnwindSafe for ParquetReadOptions<'a>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more