Class ReduceByKeyAndWindowCustomGrouping<R,​K>

  • All Implemented Interfaces:
    Serializable, CustomStreamGrouping, StreamGrouping

    public class ReduceByKeyAndWindowCustomGrouping<R,​K>
    extends Object
    implements CustomStreamGrouping
    ReduceByKeyAndWindowCustomGrouping is the class that routes the incoming tuples into the ReduceByKeyAndWindowOperator. It essentially ensures that the values being routed are of type KeyValue uses the key to route the tuple to the destination. The current implementation is identical to JoinCustomGrouping but it might evolve in the future.
    See Also:
    Serialized Form
    • Constructor Detail

      • ReduceByKeyAndWindowCustomGrouping

        public ReduceByKeyAndWindowCustomGrouping​(SerializableFunction<R,​K> keyExtractor)
    • Method Detail

      • prepare

        public void prepare​(TopologyContext context,
                            String component,
                            String streamId,
                            List<Integer> targetTasks)
        Description copied from interface: CustomStreamGrouping
        Tells the stream grouping at runtime the tasks in the target bolt. This information should be used in chooseTasks to determine the target tasks.

        It also tells the grouping the metadata on the stream this grouping will be used on.

        Specified by:
        prepare in interface CustomStreamGrouping
      • chooseTasks

        public List<Integer> chooseTasks​(List<Object> values)
        Description copied from interface: CustomStreamGrouping
        This function implements a custom stream grouping. It takes in as input the number of tasks in the target bolt in prepare and returns the tasks to send the tuples to.
        Specified by:
        chooseTasks in interface CustomStreamGrouping
        Parameters:
        values - the values to group on