pub enum Partitioning {
RoundRobinBatch(usize),
Hash(Vec<Expr>, usize),
Range(RangePartitioning),
DistributeBy(Vec<Expr>),
}Expand description
Logical partitioning schemes.
A scheme can describe either requested repartitioning in
LogicalPlan::Repartition or a partitioning property declared by a source.
Some schemes are only valid as metadata until planner support is added.
For physical execution partitioning, see
datafusion_physical_expr::Partitioning.
Variants§
RoundRobinBatch(usize)
Allocate batches using a round-robin algorithm and the specified number of partitions
Hash(Vec<Expr>, usize)
Allocate rows based on a hash of one of more expressions and the specified number of partitions.
Range(RangePartitioning)
Partition rows by ranges.
See RangePartitioning for the logical contract.
DistributeBy(Vec<Expr>)
The DISTRIBUTE BY clause is used to repartition the data based on the input expressions
Implementations§
Source§impl Partitioning
impl Partitioning
Sourcepub fn partition_count(&self) -> Option<usize>
pub fn partition_count(&self) -> Option<usize>
Return the number of partitions, if known.
Trait Implementations§
Source§impl Clone for Partitioning
impl Clone for Partitioning
Source§fn clone(&self) -> Partitioning
fn clone(&self) -> Partitioning
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 moreSource§impl Debug for Partitioning
impl Debug for Partitioning
impl Eq for Partitioning
Source§impl Hash for Partitioning
impl Hash for Partitioning
Source§impl PartialEq for Partitioning
impl PartialEq for Partitioning
Source§impl PartialOrd for Partitioning
impl PartialOrd for Partitioning
impl StructuralPartialEq for Partitioning
Auto Trait Implementations§
impl !RefUnwindSafe for Partitioning
impl !UnwindSafe for Partitioning
impl Freeze for Partitioning
impl Send for Partitioning
impl Sync for Partitioning
impl Unpin for Partitioning
impl UnsafeUnpin for Partitioning
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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