Class PeekProcessor<T>

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected ProcessorContext context  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void execute​(T input)
      Execute some operation on the input value.
      void execute​(T input, String streamId)
      Executes some operations on the input and possibly emits some results.
      protected void finish()
      This is triggered to signal the end of the current batch of values.
      void init​(ProcessorContext context)
      Initializes the processor.
      protected <R> void mayBeForwardAggUpdate​(Supplier<R> result)
      Forwards the result update to downstream processors.
      void punctuate​(String stream)
      Punctuation marks end of a batch which can be used to compute and pass the results of one stage in the pipeline to the next.
    • Constructor Detail

      • PeekProcessor

        public PeekProcessor​(Consumer<T> consumer)
    • Method Detail

      • execute

        public void execute​(T input)
        Execute some operation on the input value. Sub classes can override this when then don't care about the source stream from where the input is received.
        Parameters:
        input - the input
      • init

        public void init​(ProcessorContext context)
        Initializes the processor. This is typically invoked from the underlying storm bolt's prepare method.
        Specified by:
        init in interface Processor<T>
        Parameters:
        context - the processor context
      • execute

        public void execute​(T input,
                            String streamId)
        Executes some operations on the input and possibly emits some results. Processors that do not care about the source stream should override BaseProcessor.execute(Object) instead.
        Specified by:
        execute in interface Processor<T>
        Parameters:
        input - the input to be processed
        streamId - the source stream id from where the input is received
      • punctuate

        public void punctuate​(String stream)
        Punctuation marks end of a batch which can be used to compute and pass the results of one stage in the pipeline to the next. For e.g. emit the results of an aggregation.
        Specified by:
        punctuate in interface Processor<T>
        Parameters:
        stream - the stream id on which the punctuation arrived
      • finish

        protected void finish()
        This is triggered to signal the end of the current batch of values. Sub classes can override this to emit the result of a batch of values, for e.g. to emit the result of an aggregate or join operation on a batch of values. If a processor does per-value operation like filter, map etc, they can choose to ignore this.
      • mayBeForwardAggUpdate

        protected final <R> void mayBeForwardAggUpdate​(Supplier<R> result)
        Forwards the result update to downstream processors. Processors that operate on a batch of tuples, like aggregation, join etc can use this to emit the partial results on each input if they are operating in non-windowed mode.
        Type Parameters:
        R - the result type
        Parameters:
        result - the result function