pub struct FirstValueAggregator { /* private fields */ }Expand description
FIRST_VALUE aggregator - returns the first value seen in a window.
Tracks the value with the earliest timestamp in the window. For deterministic results, uses event timestamp, not arrival order.
§Example
use laminar_core::operator::window::FirstValueAggregator;
// Track first price by timestamp
let first_price = FirstValueAggregator::new(0, 1); // price col 0, timestamp col 1Implementations§
Trait Implementations§
Source§impl Aggregator for FirstValueAggregator
impl Aggregator for FirstValueAggregator
Source§type Acc = FirstValueAccumulator
type Acc = FirstValueAccumulator
The accumulator type used by this aggregator.
Source§fn create_accumulator(&self) -> FirstValueAccumulator
fn create_accumulator(&self) -> FirstValueAccumulator
Creates a new empty accumulator.
Source§fn extract(&self, event: &Event) -> Option<(i64, i64)>
fn extract(&self, event: &Event) -> Option<(i64, i64)>
Extracts a value from an event to be aggregated. Read more
Source§fn output_data_type(&self) -> DataType
fn output_data_type(&self) -> DataType
Returns the Arrow [
DataType] for this aggregator’s output. Read moreSource§fn output_nullable(&self) -> bool
fn output_nullable(&self) -> bool
Returns whether the output is nullable (e.g., empty windows produce null). Read more
Source§fn extract_batch(
&self,
event: &Event,
) -> SmallVec<[<Self::Acc as Accumulator>::Input; 4]>
fn extract_batch( &self, event: &Event, ) -> SmallVec<[<Self::Acc as Accumulator>::Input; 4]>
Extracts all values from a multi-row batch event. Read more
Source§impl Clone for FirstValueAggregator
impl Clone for FirstValueAggregator
Source§fn clone(&self) -> FirstValueAggregator
fn clone(&self) -> FirstValueAggregator
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 moreAuto Trait Implementations§
impl Freeze for FirstValueAggregator
impl RefUnwindSafe for FirstValueAggregator
impl Send for FirstValueAggregator
impl Sync for FirstValueAggregator
impl Unpin for FirstValueAggregator
impl UnsafeUnpin for FirstValueAggregator
impl UnwindSafe for FirstValueAggregator
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
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§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.