pub struct ArrowSource { /* private fields */ }Expand description
FileSource for both Arrow IPC file and stream formats
Implementations§
Source§impl ArrowSource
impl ArrowSource
Sourcepub fn new_file_source(table_schema: impl Into<TableSchema>) -> Self
pub fn new_file_source(table_schema: impl Into<TableSchema>) -> Self
Creates an ArrowSource for file format
Sourcepub fn new_stream_file_source(table_schema: impl Into<TableSchema>) -> Self
pub fn new_stream_file_source(table_schema: impl Into<TableSchema>) -> Self
Creates an ArrowSource for stream format
Trait Implementations§
Source§impl Clone for ArrowSource
impl Clone for ArrowSource
Source§fn clone(&self) -> ArrowSource
fn clone(&self) -> ArrowSource
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 FileSource for ArrowSource
impl FileSource for ArrowSource
Source§fn create_file_opener(
&self,
object_store: Arc<dyn ObjectStore>,
_base_config: &FileScanConfig,
_partition: usize,
) -> Result<Arc<dyn FileOpener>>
fn create_file_opener( &self, object_store: Arc<dyn ObjectStore>, _base_config: &FileScanConfig, _partition: usize, ) -> Result<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 metrics(&self) -> &ExecutionPlanMetricsSet
fn metrics(&self) -> &ExecutionPlanMetricsSet
Return execution plan metrics
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>>
fn repartitioned( &self, target_partitions: usize, repartition_file_min_size: usize, output_ordering: Option<LexOrdering>, config: &FileScanConfig, ) -> Result<Option<FileScanConfig>>
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 table_schema(&self) -> &TableSchema
fn table_schema(&self) -> &TableSchema
Returns the table schema for this file source. Read more
Source§fn try_pushdown_projection(
&self,
projection: &ProjectionExprs,
) -> Result<Option<Arc<dyn FileSource>>>
fn try_pushdown_projection( &self, projection: &ProjectionExprs, ) -> Result<Option<Arc<dyn FileSource>>>
Try to push down a projection into a this FileSource. Read more
Source§fn projection(&self) -> Option<&ProjectionExprs>
fn projection(&self) -> Option<&ProjectionExprs>
Return the projection that will be applied to the output stream on top of the table schema.
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 supports_repartitioning(&self) -> bool
fn supports_repartitioning(&self) -> bool
Returns whether this file source supports repartitioning files by byte ranges. Read more
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.Source§fn try_reverse_output(
&self,
_order: &[PhysicalSortExpr],
_eq_properties: &EquivalenceProperties,
) -> Result<SortOrderPushdownResult<Arc<dyn FileSource>>, DataFusionError>
fn try_reverse_output( &self, _order: &[PhysicalSortExpr], _eq_properties: &EquivalenceProperties, ) -> Result<SortOrderPushdownResult<Arc<dyn FileSource>>, DataFusionError>
Try to create a new FileSource that can produce data in the specified sort order. Read more
Source§fn with_schema_adapter_factory(
&self,
_factory: Arc<dyn SchemaAdapterFactory>,
) -> Result<Arc<dyn FileSource>, DataFusionError>
fn with_schema_adapter_factory( &self, _factory: Arc<dyn SchemaAdapterFactory>, ) -> Result<Arc<dyn FileSource>, DataFusionError>
👎Deprecated since 52.0.0: SchemaAdapterFactory has been removed. Use PhysicalExprAdapterFactory instead. See upgrading.md for more details.
Deprecated: 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>>
👎Deprecated since 52.0.0: SchemaAdapterFactory has been removed. Use PhysicalExprAdapterFactory instead. See upgrading.md for more details.
Deprecated: Returns the current schema adapter factory if set. Read more
Source§impl From<ArrowSource> for Arc<dyn FileSource>
impl From<ArrowSource> for Arc<dyn FileSource>
Source§fn from(source: ArrowSource) -> Self
fn from(source: ArrowSource) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for ArrowSource
impl !RefUnwindSafe for ArrowSource
impl Send for ArrowSource
impl Sync for ArrowSource
impl Unpin for ArrowSource
impl !UnwindSafe for ArrowSource
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,
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