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
Source§impl ArrowSource
impl ArrowSource
Sourcepub fn try_from_proto(
node: &PhysicalPlanNode,
ctx: &ExecutionPlanDecodeCtx<'_>,
) -> Result<Arc<dyn ExecutionPlan>>
pub fn try_from_proto( node: &PhysicalPlanNode, ctx: &ExecutionPlanDecodeCtx<'_>, ) -> Result<Arc<dyn ExecutionPlan>>
Reconstructs a DataSourceExec from a protobuf ArrowScan.
Defaults to the IPC file format because protobuf does not distinguish it from the IPC stream format.
Trait Implementations§
Source§impl Clone for ArrowSource
impl Clone for ArrowSource
Source§fn clone(&self) -> ArrowSource
fn clone(&self) -> ArrowSource
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl FileSource for ArrowSource
impl FileSource for ArrowSource
Source§fn try_to_proto(
&self,
base: &FileScanConfig,
ctx: &ExecutionPlanEncodeCtx<'_>,
) -> Result<Option<PhysicalPlanNode>>
fn try_to_proto( &self, base: &FileScanConfig, ctx: &ExecutionPlanEncodeCtx<'_>, ) -> Result<Option<PhysicalPlanNode>>
Emit an ArrowScan node wrapping the shared base config.
Decoding defaults to the IPC file format because protobuf does not distinguish it from the IPC stream format.
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>>
dyn FileOpener based on given parameters. Read moreSource§fn with_batch_size(&self, _batch_size: usize) -> Arc<dyn FileSource> ⓘ
fn with_batch_size(&self, _batch_size: usize) -> Arc<dyn FileSource> ⓘ
Source§fn metrics(&self) -> &ExecutionPlanMetricsSet
fn metrics(&self) -> &ExecutionPlanMetricsSet
Source§fn file_type(&self) -> &str
fn file_type(&self) -> &str
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>>
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
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>>>
Source§fn projection(&self) -> Option<&ProjectionExprs>
fn projection(&self) -> Option<&ProjectionExprs>
Self::table_schema. Read moreSource§fn apply_expressions(
&self,
f: &mut dyn FnMut(&Arc<dyn PhysicalExpr>) -> Result<TreeNodeRecursion>,
) -> Result<TreeNodeRecursion>
fn apply_expressions( &self, f: &mut dyn FnMut(&Arc<dyn PhysicalExpr>) -> Result<TreeNodeRecursion>, ) -> Result<TreeNodeRecursion>
Source§fn create_morselizer(
&self,
object_store: Arc<dyn ObjectStore>,
base_config: &FileScanConfig,
partition: usize,
) -> Result<Box<dyn Morselizer>, DataFusionError>
fn create_morselizer( &self, object_store: Arc<dyn ObjectStore>, base_config: &FileScanConfig, partition: usize, ) -> Result<Box<dyn Morselizer>, DataFusionError>
dyn Morselizer based on given parameters. Read moreSource§fn filter(&self) -> Option<Arc<dyn PhysicalExpr>>
fn filter(&self) -> Option<Arc<dyn PhysicalExpr>>
Source§fn fmt_extra(
&self,
_t: DisplayFormatType,
_f: &mut Formatter<'_>,
) -> Result<(), Error>
fn fmt_extra( &self, _t: DisplayFormatType, _f: &mut Formatter<'_>, ) -> Result<(), Error>
Source§fn supports_repartitioning(&self) -> bool
fn supports_repartitioning(&self) -> bool
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>
Source§fn try_pushdown_sort(
&self,
order: &[PhysicalSortExpr],
eq_properties: &EquivalenceProperties,
) -> Result<SortOrderPushdownResult<Arc<dyn FileSource>>, DataFusionError>
fn try_pushdown_sort( &self, order: &[PhysicalSortExpr], eq_properties: &EquivalenceProperties, ) -> Result<SortOrderPushdownResult<Arc<dyn FileSource>>, DataFusionError>
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>
Renamed to try_pushdown_sort. This method was never limited to reversing output. It will be removed in 59.0.0 or later.
Self::try_pushdown_sort.Source§fn reorder_files(&self, files: Vec<PartitionedFile>) -> Vec<PartitionedFile>
fn reorder_files(&self, files: Vec<PartitionedFile>) -> Vec<PartitionedFile>
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>
SchemaAdapterFactory has been removed. Use PhysicalExprAdapterFactory instead. See upgrading.md for more details.
Source§fn schema_adapter_factory(&self) -> Option<Arc<dyn SchemaAdapterFactory>>
fn schema_adapter_factory(&self) -> Option<Arc<dyn SchemaAdapterFactory>>
SchemaAdapterFactory has been removed. Use PhysicalExprAdapterFactory instead. See upgrading.md for more details.
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
Auto Trait Implementations§
impl !RefUnwindSafe for ArrowSource
impl !UnwindSafe for ArrowSource
impl Freeze for ArrowSource
impl Send for ArrowSource
impl Sync for ArrowSource
impl Unpin for ArrowSource
impl UnsafeUnpin 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
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> ⓘ
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