Class AllGroupReduceDriver<IT,OT>

java.lang.Object
org.apache.flink.runtime.operators.AllGroupReduceDriver<IT,OT>
All Implemented Interfaces:
Driver<org.apache.flink.api.common.functions.GroupReduceFunction<IT,OT>,OT>

public class AllGroupReduceDriver<IT,OT> extends Object implements Driver<org.apache.flink.api.common.functions.GroupReduceFunction<IT,OT>,OT>
GroupReduceDriver task which is executed by a Task Manager. The task has a single input and one or multiple outputs. It is provided with a GroupReduceFunction implementation or a RichGroupReduceFunction. This Driver performs multiple tasks depending on the DriverStrategy. In case of a ALL_GROUP_REDUCE_COMBINE it uses the combine function of the supplied user function. In case of the ALL_GROUP_REDUCE, it uses the reduce function of the supplied user function to process all elements. In either case, the function is executed on all elements.

The AllGroupReduceDriver creates an iterator over all records from its input. The iterator is handed to the reduce() method of the GroupReduceFunction.

See Also:
  • GroupReduceFunction
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    This method is invoked when the driver must aborted in mid processing.
    void
    This method is invoked in any case (clean termination and exception) at the end of the tasks operation.
    int
    Gets the number of comparators required for this driver.
    int
    Gets the number of inputs that the task has.
    Class<org.apache.flink.api.common.functions.GroupReduceFunction<IT,OT>>
    Gets the class of the stub type that is run by this task.
    void
    This method is called before the user code is opened.
    void
    run()
    The main operation method of the task.
    void
    setup(TaskContext<org.apache.flink.api.common.functions.GroupReduceFunction<IT,OT>,OT> context)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • AllGroupReduceDriver

      public AllGroupReduceDriver()
  • Method Details

    • setup

      public void setup(TaskContext<org.apache.flink.api.common.functions.GroupReduceFunction<IT,OT>,OT> context)
      Specified by:
      setup in interface Driver<IT,OT>
    • getNumberOfInputs

      public int getNumberOfInputs()
      Description copied from interface: Driver
      Gets the number of inputs that the task has.
      Specified by:
      getNumberOfInputs in interface Driver<IT,OT>
      Returns:
      The number of inputs.
    • getStubType

      public Class<org.apache.flink.api.common.functions.GroupReduceFunction<IT,OT>> getStubType()
      Description copied from interface: Driver
      Gets the class of the stub type that is run by this task. For example, a MapTask should return MapFunction.class.
      Specified by:
      getStubType in interface Driver<IT,OT>
      Returns:
      The class of the stub type run by the task.
    • getNumberOfDriverComparators

      public int getNumberOfDriverComparators()
      Description copied from interface: Driver
      Gets the number of comparators required for this driver.
      Specified by:
      getNumberOfDriverComparators in interface Driver<IT,OT>
      Returns:
      The number of comparators required for this driver.
    • prepare

      public void prepare() throws Exception
      Description copied from interface: Driver
      This method is called before the user code is opened. An exception thrown by this method signals failure of the task.
      Specified by:
      prepare in interface Driver<IT,OT>
      Throws:
      Exception - Exceptions may be forwarded and signal task failure.
    • run

      public void run() throws Exception
      Description copied from interface: Driver
      The main operation method of the task. It should call the user code with the data subsets until the input is depleted.
      Specified by:
      run in interface Driver<IT,OT>
      Throws:
      Exception - Any exception thrown by this method signals task failure. Because exceptions in the user code typically signal situations where this instance in unable to proceed, exceptions from the user code should be forwarded.
    • cleanup

      public void cleanup()
      Description copied from interface: Driver
      This method is invoked in any case (clean termination and exception) at the end of the tasks operation.
      Specified by:
      cleanup in interface Driver<IT,OT>
    • cancel

      public void cancel()
      Description copied from interface: Driver
      This method is invoked when the driver must aborted in mid processing. It is invoked asynchronously by a different thread.
      Specified by:
      cancel in interface Driver<IT,OT>