Interface CustomStreamGrouping

    • Method Detail

      • prepare

        void prepare​(TopologyContext context,
                     String component,
                     String streamId,
                     List<Integer> targetTasks)
        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.

      • chooseTasks

        List<Integer> chooseTasks​(List<Object> values)
        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.
        Parameters:
        values - the values to group on
      • buildStream

        default org.apache.heron.api.generated.TopologyAPI.InputStream.Builder buildStream​(String componentName,
                                                                                           String streamId)
        Build InputStream for CustomStreamGrouping implementations.
        Specified by:
        buildStream in interface StreamGrouping
        Parameters:
        componentName - The parent component of this grouping logic
        streamId - The id of the input stream
        Returns:
        An InputStream builder to be used by BoltDeclarer