pub struct WindowExecutionSpec {Show 14 fields
pub key_column: String,
pub key_column_type: String,
pub event_time_column: String,
pub watermark_lag_ms: u64,
pub window_kind: WindowKind,
pub window_size_ms: u64,
pub slide_ms: Option<u64>,
pub session_gap_ms: Option<u64>,
pub agg_exprs: Vec<WindowAgg>,
pub state_ttl_ms: Option<u64>,
pub allowed_lateness_ms: Option<u64>,
pub source_watermark_lags: HashMap<String, u64>,
pub source_id_column: Option<String>,
pub window_timezone: Option<String>,
}Expand description
Full specification for a keyed, windowed streaming operator.
Fields§
§key_column: String§key_column_type: StringArrow type of the key column as a simple string tag: "int32",
"int64", "float64", "utf8", or "bool". Defaults to "utf8".
event_time_column: String§watermark_lag_ms: u64§window_kind: WindowKind§window_size_ms: u64§slide_ms: Option<u64>Slide step for sliding windows.
session_gap_ms: Option<u64>Session gap for session windows.
agg_exprs: Vec<WindowAgg>§state_ttl_ms: Option<u64>§allowed_lateness_ms: Option<u64>ST11: events arriving within [watermark, watermark + allowed_lateness_ms)
are kept for late-firing instead of being dropped. Defaults to
None (no lateness — events past the watermark are dropped).
When Some(0) the behaviour is identical to None (drop on
arrival past the watermark).
source_watermark_lags: HashMap<String, u64>Per-source fixed-lag watermark (ms). When non-empty, effective watermark is the minimum across all configured sources (R5.2 multi-source watermark reconciliation).
source_id_column: Option<String>Column identifying the input source for multi-source watermark propagation.
window_timezone: Option<String>Optional timezone for SQL civil-time window bucketing (e.g. “America/New_York”).
This is only used for SQL window TVFs (TUMBLE, HOP, SESSION) when the
user specifies WITH TIMEZONE. It affects how event timestamps are bucketed
into civil-time windows (e.g., daily windows in a specific timezone).
Watermark comparison and checkpoint ordering are always UTC and are NOT
affected by this field.
Implementations§
Trait Implementations§
Source§impl Clone for WindowExecutionSpec
impl Clone for WindowExecutionSpec
Source§fn clone(&self) -> WindowExecutionSpec
fn clone(&self) -> WindowExecutionSpec
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 WindowExecutionSpec
impl Debug for WindowExecutionSpec
Source§impl<'de> Deserialize<'de> for WindowExecutionSpec
impl<'de> Deserialize<'de> for WindowExecutionSpec
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>,
impl Eq for WindowExecutionSpec
Source§impl PartialEq for WindowExecutionSpec
impl PartialEq for WindowExecutionSpec
Source§impl Serialize for WindowExecutionSpec
impl Serialize for WindowExecutionSpec
impl StructuralPartialEq for WindowExecutionSpec
Auto Trait Implementations§
impl Freeze for WindowExecutionSpec
impl RefUnwindSafe for WindowExecutionSpec
impl Send for WindowExecutionSpec
impl Sync for WindowExecutionSpec
impl Unpin for WindowExecutionSpec
impl UnsafeUnpin for WindowExecutionSpec
impl UnwindSafe for WindowExecutionSpec
Blanket Implementations§
impl<T> Allocation for T
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
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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
key and return true if they are equal.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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request