pub struct AvroSource {
schema: Option<Arc<Schema>>,
batch_size: Option<usize>,
projection: Option<Vec<String>>,
metrics: ExecutionPlanMetricsSet,
projected_statistics: Option<Statistics>,
schema_adapter_factory: Option<Arc<dyn SchemaAdapterFactory>>,
}Expand description
AvroSource holds the extra configuration that is necessary for opening avro files
Fields§
§schema: Option<Arc<Schema>>§batch_size: Option<usize>§projection: Option<Vec<String>>§metrics: ExecutionPlanMetricsSet§projected_statistics: Option<Statistics>§schema_adapter_factory: Option<Arc<dyn SchemaAdapterFactory>>Implementations§
Source§impl AvroSource
impl AvroSource
Sourcepub fn new() -> AvroSource
pub fn new() -> AvroSource
Initialize an AvroSource with default values
Trait Implementations§
Source§impl Clone for AvroSource
impl Clone for AvroSource
Source§fn clone(&self) -> AvroSource
fn clone(&self) -> AvroSource
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Default for AvroSource
impl Default for AvroSource
Source§fn default() -> AvroSource
fn default() -> AvroSource
Returns the “default value” for a type. Read more
Source§impl FileSource for AvroSource
impl FileSource for AvroSource
Source§fn create_file_opener(
&self,
object_store: Arc<dyn ObjectStore>,
_base_config: &FileScanConfig,
_partition: usize,
) -> Arc<dyn FileOpener>
fn create_file_opener( &self, object_store: Arc<dyn ObjectStore>, _base_config: &FileScanConfig, _partition: usize, ) -> Arc<dyn FileOpener>
Creates a
dyn FileOpener based on given parametersSource§fn with_batch_size(&self, batch_size: usize) -> Arc<dyn FileSource>
fn with_batch_size(&self, batch_size: usize) -> Arc<dyn FileSource>
Initialize new type with batch size configuration
Source§fn with_schema(&self, schema: TableSchema) -> Arc<dyn FileSource>
fn with_schema(&self, schema: TableSchema) -> Arc<dyn FileSource>
Initialize new instance with a new schema
Source§fn with_statistics(&self, statistics: Statistics) -> Arc<dyn FileSource>
fn with_statistics(&self, statistics: Statistics) -> Arc<dyn FileSource>
Initialize new instance with projected statistics
Source§fn with_projection(&self, config: &FileScanConfig) -> Arc<dyn FileSource>
fn with_projection(&self, config: &FileScanConfig) -> Arc<dyn FileSource>
Initialize new instance with projection information
Source§fn metrics(&self) -> &ExecutionPlanMetricsSet
fn metrics(&self) -> &ExecutionPlanMetricsSet
Return execution plan metrics
Source§fn statistics(&self) -> Result<Statistics, DataFusionError>
fn statistics(&self) -> Result<Statistics, DataFusionError>
Return projected statistics
Source§fn file_type(&self) -> &str
fn file_type(&self) -> &str
String representation of file source such as “csv”, “json”, “parquet”
Source§fn repartitioned(
&self,
_target_partitions: usize,
_repartition_file_min_size: usize,
_output_ordering: Option<LexOrdering>,
_config: &FileScanConfig,
) -> Result<Option<FileScanConfig>, DataFusionError>
fn repartitioned( &self, _target_partitions: usize, _repartition_file_min_size: usize, _output_ordering: Option<LexOrdering>, _config: &FileScanConfig, ) -> Result<Option<FileScanConfig>, DataFusionError>
If supported by the
FileSource, redistribute files across partitions
according to their size. Allows custom file formats to implement their
own repartitioning logic. Read moreSource§fn with_schema_adapter_factory(
&self,
schema_adapter_factory: Arc<dyn SchemaAdapterFactory>,
) -> Result<Arc<dyn FileSource>, DataFusionError>
fn with_schema_adapter_factory( &self, schema_adapter_factory: Arc<dyn SchemaAdapterFactory>, ) -> Result<Arc<dyn FileSource>, DataFusionError>
Set optional schema adapter factory. Read more
Source§fn schema_adapter_factory(&self) -> Option<Arc<dyn SchemaAdapterFactory>>
fn schema_adapter_factory(&self) -> Option<Arc<dyn SchemaAdapterFactory>>
Returns the current schema adapter factory if set Read more
Source§fn filter(&self) -> Option<Arc<dyn PhysicalExpr>>
fn filter(&self) -> Option<Arc<dyn PhysicalExpr>>
Returns the filter expression that will be applied during the file scan.
Source§fn fmt_extra(
&self,
_t: DisplayFormatType,
_f: &mut Formatter<'_>,
) -> Result<(), Error>
fn fmt_extra( &self, _t: DisplayFormatType, _f: &mut Formatter<'_>, ) -> Result<(), Error>
Format FileType specific information
Source§fn try_pushdown_filters(
&self,
filters: Vec<Arc<dyn PhysicalExpr>>,
_config: &ConfigOptions,
) -> Result<FilterPushdownPropagation<Arc<dyn FileSource>>, DataFusionError>
fn try_pushdown_filters( &self, filters: Vec<Arc<dyn PhysicalExpr>>, _config: &ConfigOptions, ) -> Result<FilterPushdownPropagation<Arc<dyn FileSource>>, DataFusionError>
Try to push down filters into this FileSource.
See
ExecutionPlan::handle_child_pushdown_result for more details.Auto Trait Implementations§
impl Freeze for AvroSource
impl !RefUnwindSafe for AvroSource
impl Send for AvroSource
impl Sync for AvroSource
impl Unpin for AvroSource
impl !UnwindSafe for AvroSource
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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