Class FixedTimeStreamWindow<I extends List>

java.lang.Object
org.pentaho.di.trans.streaming.common.FixedTimeStreamWindow<I>
All Implemented Interfaces:
StreamWindow<I,org.pentaho.di.core.Result>

public class FixedTimeStreamWindow<I extends List> extends Object implements StreamWindow<I,org.pentaho.di.core.Result>
A StreamWindow implementation which buffers rows of I by a fixed amount of time and size, executing each batch in a subtransformation.
  • Constructor Details

    • FixedTimeStreamWindow

      public FixedTimeStreamWindow(SubtransExecutor subtransExecutor, org.pentaho.di.core.row.RowMetaInterface rowMeta, long millis, int batchSize, int parallelism)
    • FixedTimeStreamWindow

      public FixedTimeStreamWindow(SubtransExecutor subtransExecutor, org.pentaho.di.core.row.RowMetaInterface rowMeta, long millis, int batchSize, int parallelism, io.reactivex.functions.Consumer<Map.Entry<List<I>,org.pentaho.di.core.Result>> postProcessor)
    • FixedTimeStreamWindow

      public FixedTimeStreamWindow(SubtransExecutor subtransExecutor, org.pentaho.di.core.row.RowMetaInterface rowMeta, long millis, int batchSize, int parallelism, io.reactivex.functions.Consumer<Map.Entry<List<I>,org.pentaho.di.core.Result>> postProcessor, io.reactivex.functions.Function<List<I>,List<I>> bufferFilter)
  • Method Details

    • buffer

      public Iterable<org.pentaho.di.core.Result> buffer(io.reactivex.Flowable<I> flowable)
      Description copied from interface: StreamWindow
      Takes an iterable (would typically be a StreamSource.flowable()} call) and buffers it according to the window strategy. Returns an iterable of data for the window. Depending on stream implementation, the output could also be transformed. For example, the FixedTimeStreamWindow will pass windowed data to a subtransformation, and return the transformed results.
      Specified by:
      buffer in interface StreamWindow<I extends List,org.pentaho.di.core.Result>