struct SlidingSumAccumulator<T: ArrowNumericType> {
sum: T::Native,
count: u64,
data_type: DataType,
}Expand description
This accumulator incrementally computes sums over a sliding window
This is separate from SumAccumulator as requires additional state
Fields§
§sum: T::Native§count: u64§data_type: DataTypeImplementations§
Source§impl<T: ArrowNumericType> SlidingSumAccumulator<T>
impl<T: ArrowNumericType> SlidingSumAccumulator<T>
Trait Implementations§
Source§impl<T: ArrowNumericType> Accumulator for SlidingSumAccumulator<T>
impl<T: ArrowNumericType> Accumulator for SlidingSumAccumulator<T>
Source§fn state(&mut self) -> Result<Vec<ScalarValue>>
fn state(&mut self) -> Result<Vec<ScalarValue>>
Returns the intermediate state of the accumulator, consuming the
intermediate state. Read more
Source§fn update_batch(&mut self, values: &[ArrayRef]) -> Result<()>
fn update_batch(&mut self, values: &[ArrayRef]) -> Result<()>
Updates the accumulator’s state from its input. Read more
Source§fn merge_batch(&mut self, states: &[ArrayRef]) -> Result<()>
fn merge_batch(&mut self, states: &[ArrayRef]) -> Result<()>
Updates the accumulator’s state from an
Array containing one
or more intermediate values. Read moreSource§fn evaluate(&mut self) -> Result<ScalarValue>
fn evaluate(&mut self) -> Result<ScalarValue>
Returns the final aggregate value, consuming the internal state. Read more
Source§fn size(&self) -> usize
fn size(&self) -> usize
Returns the allocated size required for this accumulator, in
bytes, including
Self. Read moreSource§fn retract_batch(&mut self, values: &[ArrayRef]) -> Result<()>
fn retract_batch(&mut self, values: &[ArrayRef]) -> Result<()>
Retracts (removed) an update (caused by the given inputs) to
accumulator’s state. Read more
Source§fn supports_retract_batch(&self) -> bool
fn supports_retract_batch(&self) -> bool
Does the accumulator support incrementally updating its value
by removing values. Read more
Auto Trait Implementations§
impl<T> Freeze for SlidingSumAccumulator<T>where
<T as ArrowPrimitiveType>::Native: Freeze,
impl<T> RefUnwindSafe for SlidingSumAccumulator<T>where
<T as ArrowPrimitiveType>::Native: RefUnwindSafe,
impl<T> Send for SlidingSumAccumulator<T>
impl<T> Sync for SlidingSumAccumulator<T>
impl<T> Unpin for SlidingSumAccumulator<T>where
<T as ArrowPrimitiveType>::Native: Unpin,
impl<T> UnwindSafe for SlidingSumAccumulator<T>where
<T as ArrowPrimitiveType>::Native: UnwindSafe,
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
§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