pub enum PhysNodeKind {
Show 37 variants
InMemorySource {
df: Arc<DataFrame>,
disable_morsel_split: bool,
},
Select {
input: PhysStream,
selectors: Vec<ExprIR>,
extend_original: bool,
},
InputIndependentSelect {
selectors: Vec<ExprIR>,
},
WithRowIndex {
input: PhysStream,
name: PlSmallStr,
offset: Option<IdxSize>,
},
Reduce {
input: PhysStream,
exprs: Vec<ExprIR>,
},
StreamingSlice {
input: PhysStream,
offset: usize,
length: usize,
},
NegativeSlice {
input: PhysStream,
offset: i64,
length: usize,
},
DynamicSlice {
input: PhysStream,
offset: PhysStream,
length: PhysStream,
},
Shift {
input: PhysStream,
offset: PhysStream,
fill: Option<PhysStream>,
},
Filter {
input: PhysStream,
predicate: ExprIR,
},
SimpleProjection {
input: PhysStream,
columns: Vec<PlSmallStr>,
},
InMemorySink {
input: PhysStream,
},
CallbackSink {
input: PhysStream,
function: PlanCallback<DataFrame, bool>,
maintain_order: bool,
chunk_size: Option<NonZeroUsize>,
},
FileSink {
input: PhysStream,
options: FileSinkOptions,
},
PartitionedSink {
input: PhysStream,
options: PartitionedSinkOptionsIR,
},
SinkMultiple {
sinks: Vec<PhysNodeKey>,
},
InMemoryMap {
input: PhysStream,
map: Arc<dyn DataFrameUdf>,
format_str: Option<String>,
},
Map {
input: PhysStream,
map: Arc<dyn DataFrameUdf>,
format_str: Option<String>,
},
SortedGroupBy {
input: PhysStream,
key: PlSmallStr,
aggs: Vec<ExprIR>,
slice: Option<(IdxSize, IdxSize)>,
},
Sort {
input: PhysStream,
by_column: Vec<ExprIR>,
slice: Option<(i64, usize)>,
sort_options: SortMultipleOptions,
},
TopK {
input: PhysStream,
k: PhysStream,
by_column: Vec<ExprIR>,
reverse: Vec<bool>,
nulls_last: Vec<bool>,
},
Repeat {
value: PhysStream,
repeats: PhysStream,
},
GatherEvery {
input: PhysStream,
n: usize,
offset: usize,
},
Rle(PhysStream),
RleId(PhysStream),
PeakMinMax {
input: PhysStream,
is_peak_max: bool,
},
OrderedUnion {
inputs: Vec<PhysStream>,
},
UnorderedUnion {
inputs: Vec<PhysStream>,
},
Zip {
inputs: Vec<PhysStream>,
zip_behavior: ZipBehavior,
},
Multiplexer {
input: PhysStream,
},
MultiScan {Show 18 fields
scan_sources: ScanSources,
file_reader_builder: Arc<dyn FileReaderBuilder>,
cloud_options: Option<Arc<CloudOptions>>,
file_projection_builder: ProjectionBuilder,
output_schema: SchemaRef,
row_index: Option<RowIndex>,
pre_slice: Option<Slice>,
predicate: Option<ExprIR>,
predicate_file_skip_applied: Option<PredicateFileSkip>,
hive_parts: Option<HivePartitionsDf>,
include_file_paths: Option<PlSmallStr>,
cast_columns_policy: CastColumnsPolicy,
missing_columns_policy: MissingColumnsPolicy,
forbid_extra_columns: Option<ForbidExtraColumns>,
deletion_files: Option<DeletionFilesList>,
table_statistics: Option<TableStatistics>,
file_schema: SchemaRef,
disable_morsel_split: bool,
},
GroupBy {
inputs: Vec<PhysStream>,
key_per_input: Vec<Vec<ExprIR>>,
aggs_per_input: Vec<Vec<ExprIR>>,
},
EquiJoin {
input_left: PhysStream,
input_right: PhysStream,
left_on: Vec<ExprIR>,
right_on: Vec<ExprIR>,
args: JoinArgs,
},
MergeJoin {
input_left: PhysStream,
input_right: PhysStream,
left_on: Vec<PlSmallStr>,
right_on: Vec<PlSmallStr>,
descending: bool,
nulls_last: bool,
keys_row_encoded: bool,
args: JoinArgs,
},
SemiAntiJoin {
input_left: PhysStream,
input_right: PhysStream,
left_on: Vec<ExprIR>,
right_on: Vec<ExprIR>,
args: JoinArgs,
output_bool: bool,
},
CrossJoin {
input_left: PhysStream,
input_right: PhysStream,
args: JoinArgs,
},
InMemoryJoin {
input_left: PhysStream,
input_right: PhysStream,
left_on: Vec<ExprIR>,
right_on: Vec<ExprIR>,
args: JoinArgs,
options: Option<JoinTypeOptionsIR>,
},
}Variants§
InMemorySource
Select
InputIndependentSelect
WithRowIndex
Reduce
StreamingSlice
NegativeSlice
DynamicSlice
Shift
Filter
SimpleProjection
InMemorySink
Fields
§
input: PhysStreamCallbackSink
FileSink
PartitionedSink
SinkMultiple
Fields
§
sinks: Vec<PhysNodeKey>InMemoryMap
Generic fallback for (as-of-yet) unsupported streaming mappings. Fully sinks all data to an in-memory data frame and uses the in-memory engine to perform the map.
Map
SortedGroupBy
Sort
TopK
Repeat
GatherEvery
Rle(PhysStream)
RleId(PhysStream)
PeakMinMax
OrderedUnion
UnorderedUnion
Zip
Multiplexer
Fields
§
input: PhysStreamMultiScan
Fields
§
scan_sources: ScanSources§
cloud_options: Option<Arc<CloudOptions>>§
file_projection_builder: ProjectionBuilderColumns to project from the file.
§
predicate_file_skip_applied: Option<PredicateFileSkip>§
hive_parts: Option<HivePartitionsDf>§
include_file_paths: Option<PlSmallStr>§
cast_columns_policy: CastColumnsPolicy§
missing_columns_policy: MissingColumnsPolicy§
deletion_files: Option<DeletionFilesList>§
table_statistics: Option<TableStatistics>GroupBy
EquiJoin
MergeJoin
Fields
§
input_left: PhysStream§
input_right: PhysStream§
left_on: Vec<PlSmallStr>§
right_on: Vec<PlSmallStr>SemiAntiJoin
CrossJoin
InMemoryJoin
Generic fallback for (as-of-yet) unsupported streaming joins. Fully sinks all data to in-memory data frames and uses the in-memory engine to perform the join.
Trait Implementations§
Source§impl Clone for PhysNodeKind
impl Clone for PhysNodeKind
Source§fn clone(&self) -> PhysNodeKind
fn clone(&self) -> PhysNodeKind
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 moreAuto Trait Implementations§
impl !Freeze for PhysNodeKind
impl !RefUnwindSafe for PhysNodeKind
impl Send for PhysNodeKind
impl Sync for PhysNodeKind
impl Unpin for PhysNodeKind
impl !UnwindSafe for PhysNodeKind
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> 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> ⓘ
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