pub enum PhysNodeKind {
Show 44 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: PlIndexMap<PlSmallStr, 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>,
},
ColumnarFunction {
inputs: Vec<PhysStream>,
func: Arc<dyn ColumnsUdf>,
arg_map: Option<FunctionArgMap>,
output_name: PlSmallStr,
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>,
dyn_pred: Option<DynamicPred>,
},
Repeat {
value: PhysStream,
repeats: PhysStream,
},
GatherEvery {
input: PhysStream,
n: usize,
offset: usize,
},
ForwardFill {
input: PhysStream,
limit: Option<IdxSize>,
},
BackwardFill {
input: PhysStream,
limit: Option<IdxSize>,
},
Rle(PhysStream),
RleId(PhysStream),
SortedUnique {
input: PhysStream,
keys: Vec<PlSmallStr>,
},
PeakMinMax {
input: PhysStream,
is_peak_max: bool,
},
IsSorted {
input: PhysStream,
descending: Option<bool>,
nulls_last: Option<bool>,
output_name: PlSmallStr,
},
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>,
tmp_left_key_col: Option<PlSmallStr>,
tmp_right_key_col: Option<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,
},
AsOfJoin {
input_left: PhysStream,
input_right: PhysStream,
left_on: PlSmallStr,
right_on: PlSmallStr,
tmp_left_key_col: Option<PlSmallStr>,
tmp_right_key_col: Option<PlSmallStr>,
by_descending: Option<Vec<bool>>,
by_nulls_last: Option<Vec<bool>>,
args: JoinArgs,
},
InMemoryJoin {
input_left: PhysStream,
input_right: PhysStream,
left_on: Vec<ExprIR>,
right_on: Vec<ExprIR>,
args: JoinArgs,
options: Option<JoinTypeOptionsIR>,
},
Gather {
input: PhysStream,
idxs: PhysStream,
null_on_oob: bool,
},
}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
ColumnarFunction
SortedGroupBy
Sort
TopK
Repeat
GatherEvery
ForwardFill
BackwardFill
Rle(PhysStream)
RleId(PhysStream)
SortedUnique
PeakMinMax
IsSorted
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>§
tmp_left_key_col: Option<PlSmallStr>§
tmp_right_key_col: Option<PlSmallStr>SemiAntiJoin
CrossJoin
AsOfJoin
Fields
§
input_left: PhysStream§
input_right: PhysStream§
left_on: PlSmallStr§
right_on: PlSmallStr§
tmp_left_key_col: Option<PlSmallStr>§
tmp_right_key_col: Option<PlSmallStr>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.
Gather
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 (const: unstable) · 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 !UnwindSafe for PhysNodeKind
impl Send for PhysNodeKind
impl Sync for PhysNodeKind
impl Unpin for PhysNodeKind
impl UnsafeUnpin 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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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