Interface IPartitionedTridentSpout.Emitter<PartitionsT,​PartitionT extends ISpoutPartition,​X>

    • Method Detail

      • getOrderedPartitions

        List<PartitionT> getOrderedPartitions​(PartitionsT allPartitionInfo)
        Sorts given partition info to produce an ordered list of partitions.
        Parameters:
        allPartitionInfo - The partition info for all partitions being processed by all spout tasks
        Returns:
        sorted list of partitions being processed by all the tasks. The ordering must be consistent for all tasks.
      • refreshPartitions

        void refreshPartitions​(List<PartitionT> partitionResponsibilities)
        This method is called when this task is responsible for a new set of partitions. Should be used to manage things like connections to brokers.
      • reEmitPartitionBatch

        void reEmitPartitionBatch​(TransactionAttempt tx,
                                  TridentCollector collector,
                                  PartitionT partition,
                                  X partitionMeta)
        Emit a batch of tuples for a partition/transaction that has been emitted before, using the metadata created when it was first emitted.
      • getPartitionsForTask

        default List<PartitionT> getPartitionsForTask​(int taskId,
                                                      int numTasks,
                                                      List<PartitionT> allPartitionInfoSorted)
        Get the partitions assigned to the given task.
        Parameters:
        taskId - The id of the task
        numTasks - The number of tasks for the spout
        allPartitionInfoSorted - The partition info of all partitions being processed by all spout tasks, sorted according to getOrderedPartitions(java.lang.Object)
        Returns:
        The list of partitions that are to be processed by the task with taskId
      • close

        void close()