pub enum PartitionStrategy {
Hash {
columns: Vec<String>,
num_partitions: u32,
},
Range {
column: String,
boundaries: Vec<RangeBoundary>,
},
List {
column: String,
mappings: Vec<ListMapping>,
},
RoundRobin {
num_partitions: u32,
},
Time {
column: String,
interval: TimeInterval,
},
}Expand description
Strategy for partitioning data.
Variants§
Hash
Hash-based partitioning (consistent hashing).
Range
Range-based partitioning.
Fields
§
boundaries: Vec<RangeBoundary>Range boundaries.
List
List-based partitioning.
Fields
§
mappings: Vec<ListMapping>Value to partition mapping.
RoundRobin
Round-robin partitioning.
Time
Time-based partitioning.
Fields
§
interval: TimeIntervalTime interval for each partition.
Implementations§
Source§impl PartitionStrategy
impl PartitionStrategy
Sourcepub fn hash(columns: Vec<String>, num_partitions: u32) -> Self
pub fn hash(columns: Vec<String>, num_partitions: u32) -> Self
Create a hash partition strategy.
Sourcepub fn range(column: String, boundaries: Vec<RangeBoundary>) -> Self
pub fn range(column: String, boundaries: Vec<RangeBoundary>) -> Self
Create a range partition strategy.
Sourcepub fn list(column: String, mappings: Vec<ListMapping>) -> Self
pub fn list(column: String, mappings: Vec<ListMapping>) -> Self
Create a list partition strategy.
Sourcepub fn round_robin(num_partitions: u32) -> Self
pub fn round_robin(num_partitions: u32) -> Self
Create a round-robin partition strategy.
Sourcepub fn time(column: String, interval: TimeInterval) -> Self
pub fn time(column: String, interval: TimeInterval) -> Self
Create a time-based partition strategy.
Sourcepub fn partition_for_key(&self, key: &PartitionKey) -> u32
pub fn partition_for_key(&self, key: &PartitionKey) -> u32
Get the partition for a key.
Trait Implementations§
Source§impl Clone for PartitionStrategy
impl Clone for PartitionStrategy
Source§fn clone(&self) -> PartitionStrategy
fn clone(&self) -> PartitionStrategy
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 Debug for PartitionStrategy
impl Debug for PartitionStrategy
Source§impl<'de> Deserialize<'de> for PartitionStrategy
impl<'de> Deserialize<'de> for PartitionStrategy
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for PartitionStrategy
impl RefUnwindSafe for PartitionStrategy
impl Send for PartitionStrategy
impl Sync for PartitionStrategy
impl Unpin for PartitionStrategy
impl UnsafeUnpin for PartitionStrategy
impl UnwindSafe for PartitionStrategy
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