#[non_exhaustive]pub struct IntegrationPartition {
pub field_name: Option<String>,
pub function_spec: Option<String>,
pub conversion_spec: Option<String>,
}Expand description
A structure that describes how data is partitioned on the target.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.field_name: Option<String>The field name used to partition data on the target. Avoid using columns that have unique values for each row (for example, `LastModifiedTimestamp`, `SystemModTimeStamp`) as the partition column. These columns are not suitable for partitioning because they create a large number of small partitions, which can lead to performance issues.
function_spec: Option<String>Specifies the function used to partition data on the target. The accepted values for this parameter are:
-
identity- Uses source values directly without transformation -
year- Extracts the year from timestamp values (e.g., 2023) -
month- Extracts the month from timestamp values (e.g., 2023-01) -
day- Extracts the day from timestamp values (e.g., 2023-01-15) -
hour- Extracts the hour from timestamp values (e.g., 2023-01-15-14)
conversion_spec: Option<String>Specifies the timestamp format of the source data. Valid values are:
-
epoch_sec- Unix epoch timestamp in seconds -
epoch_milli- Unix epoch timestamp in milliseconds -
iso- ISO 8601 formatted timestamp
Only specify ConversionSpec when using timestamp-based partition functions (year, month, day, or hour). Glue Zero-ETL uses this parameter to correctly transform source data into timestamp format before partitioning.
Do not use high-cardinality columns with the identity partition function. High-cardinality columns include:
-
Primary keys
-
Timestamp fields (such as
LastModifiedTimestamp,CreatedDate) -
System-generated timestamps
Using high-cardinality columns with identity partitioning creates many small partitions, which can significantly degrade ingestion performance.
Implementations§
Source§impl IntegrationPartition
impl IntegrationPartition
Sourcepub fn field_name(&self) -> Option<&str>
pub fn field_name(&self) -> Option<&str>
The field name used to partition data on the target. Avoid using columns that have unique values for each row (for example, `LastModifiedTimestamp`, `SystemModTimeStamp`) as the partition column. These columns are not suitable for partitioning because they create a large number of small partitions, which can lead to performance issues.
Sourcepub fn function_spec(&self) -> Option<&str>
pub fn function_spec(&self) -> Option<&str>
Specifies the function used to partition data on the target. The accepted values for this parameter are:
-
identity- Uses source values directly without transformation -
year- Extracts the year from timestamp values (e.g., 2023) -
month- Extracts the month from timestamp values (e.g., 2023-01) -
day- Extracts the day from timestamp values (e.g., 2023-01-15) -
hour- Extracts the hour from timestamp values (e.g., 2023-01-15-14)
Sourcepub fn conversion_spec(&self) -> Option<&str>
pub fn conversion_spec(&self) -> Option<&str>
Specifies the timestamp format of the source data. Valid values are:
-
epoch_sec- Unix epoch timestamp in seconds -
epoch_milli- Unix epoch timestamp in milliseconds -
iso- ISO 8601 formatted timestamp
Only specify ConversionSpec when using timestamp-based partition functions (year, month, day, or hour). Glue Zero-ETL uses this parameter to correctly transform source data into timestamp format before partitioning.
Do not use high-cardinality columns with the identity partition function. High-cardinality columns include:
-
Primary keys
-
Timestamp fields (such as
LastModifiedTimestamp,CreatedDate) -
System-generated timestamps
Using high-cardinality columns with identity partitioning creates many small partitions, which can significantly degrade ingestion performance.
Source§impl IntegrationPartition
impl IntegrationPartition
Sourcepub fn builder() -> IntegrationPartitionBuilder
pub fn builder() -> IntegrationPartitionBuilder
Creates a new builder-style object to manufacture IntegrationPartition.
Trait Implementations§
Source§impl Clone for IntegrationPartition
impl Clone for IntegrationPartition
Source§fn clone(&self) -> IntegrationPartition
fn clone(&self) -> IntegrationPartition
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for IntegrationPartition
impl Debug for IntegrationPartition
Source§impl PartialEq for IntegrationPartition
impl PartialEq for IntegrationPartition
Source§fn eq(&self, other: &IntegrationPartition) -> bool
fn eq(&self, other: &IntegrationPartition) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for IntegrationPartition
Auto Trait Implementations§
impl Freeze for IntegrationPartition
impl RefUnwindSafe for IntegrationPartition
impl Send for IntegrationPartition
impl Sync for IntegrationPartition
impl Unpin for IntegrationPartition
impl UnsafeUnpin for IntegrationPartition
impl UnwindSafe for IntegrationPartition
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> 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>
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