#[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 · 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
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 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 moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);