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<SortExpr>>,
pub file_decryption_properties: Option<ConfigFileDecryptionProperties>,
pub metadata_size_hint: Option<usize>,
}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 strFile 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<SortExpr>>Indicates how the file is sorted
file_decryption_properties: Option<ConfigFileDecryptionProperties>Properties for decryption of Parquet files that use modular encryption
metadata_size_hint: Option<usize>Metadata size hint for Parquet files reading (in bytes)
Implementations§
Source§impl<'a> ParquetReadOptions<'a>
impl<'a> ParquetReadOptions<'a>
Sourcepub fn file_extension(self, file_extension: &'a str) -> Self
pub fn file_extension(self, file_extension: &'a str) -> Self
Specify file_extension
Sourcepub fn parquet_pruning(self, parquet_pruning: bool) -> Self
pub fn parquet_pruning(self, parquet_pruning: bool) -> Self
Specify parquet_pruning
Sourcepub fn skip_metadata(self, skip_metadata: bool) -> Self
pub fn skip_metadata(self, skip_metadata: bool) -> Self
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 table_partition_cols(
self,
table_partition_cols: Vec<(String, DataType)>,
) -> Self
pub fn table_partition_cols( self, table_partition_cols: Vec<(String, DataType)>, ) -> Self
Specify table_partition_cols for partition pruning
Sourcepub fn file_sort_order(self, file_sort_order: Vec<Vec<SortExpr>>) -> Self
pub fn file_sort_order(self, file_sort_order: Vec<Vec<SortExpr>>) -> Self
Configure if file has known sort order
Sourcepub fn file_decryption_properties(
self,
file_decryption_properties: ConfigFileDecryptionProperties,
) -> Self
pub fn file_decryption_properties( self, file_decryption_properties: ConfigFileDecryptionProperties, ) -> Self
Configure file decryption properties for reading encrypted Parquet files
Sourcepub fn metadata_size_hint(self, size_hint: Option<usize>) -> Self
pub fn metadata_size_hint(self, size_hint: Option<usize>) -> Self
Configure metadata size hint for Parquet files reading (in bytes)
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 Default for ParquetReadOptions<'_>
impl Default for ParquetReadOptions<'_>
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<SchemaRef>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: '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<SchemaRef>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: '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<SchemaRef>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'a: 'async_trait,
'life0: '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<SchemaRef>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'a: 'async_trait,
'life0: '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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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