Interface RamaCombinerAgg<T>

Type Parameters:
T - Type of data
All Superinterfaces:
RamaSerializable, Serializable

public interface RamaCombinerAgg<T> extends RamaSerializable
Base interface for custom combiner implementations. In a combiner, the start input and aggregated values are of the same form. A combiner executes by aggregating two values at a time until all input has been aggregated to a single value. Because the input and aggregated values are of the same form, combiners can parallelize computation of a single aggregation.
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    combine(T curr, T arg)
    Combine two values into an aggregated value
    default boolean
    Controls memory usage when Rama performs two-phase optimization for combiners.
    Returns result value if there is no input
  • Method Details

    • combine

      T combine(T curr, T arg)
      Combine two values into an aggregated value
      Parameters:
      curr - First value
      arg - Second value
      Returns:
      Aggregated values
    • zeroVal

      T zeroVal()
      Returns result value if there is no input
    • isFlushRequired

      default boolean isFlushRequired()
      Controls memory usage when Rama performs two-phase optimization for combiners. Should be overridden to return true if the memory usage of aggregated values grows with each aggregation.
      See Also: