Interface Evictor<T,​W extends Window>

  • Type Parameters:
    T - The type of elements that this Evictor can evict.
    W - The type of Windows on which this Evictor can operate.
    All Superinterfaces:
    Serializable
    All Known Implementing Classes:
    CountEvictor, DeltaEvictor, TimeEvictor

    @PublicEvolving
    public interface Evictor<T,​W extends Window>
    extends Serializable
    An Evictor can remove elements from a pane before/after the evaluation of WindowFunction and after the window evaluation gets triggered by a Trigger

    A pane is the bucket of elements that have the same key (assigned by the KeySelector) and same Window. An element can be in multiple panes of it was assigned to multiple windows by the WindowAssigner. These panes all have their own instance of the Evictor.

    • Method Detail

      • evictBefore

        void evictBefore​(Iterable<TimestampedValue<T>> elements,
                         int size,
                         W window,
                         Evictor.EvictorContext evictorContext)
        Optionally evicts elements. Called before windowing function.
        Parameters:
        elements - The elements currently in the pane.
        size - The current number of elements in the pane.
        window - The Window
        evictorContext - The context for the Evictor
      • evictAfter

        void evictAfter​(Iterable<TimestampedValue<T>> elements,
                        int size,
                        W window,
                        Evictor.EvictorContext evictorContext)
        Optionally evicts elements. Called after windowing function.
        Parameters:
        elements - The elements currently in the pane.
        size - The current number of elements in the pane.
        window - The Window
        evictorContext - The context for the Evictor