Class KeyedStream.IntervalJoined<IN1,​IN2,​KEY>

  • Type Parameters:
    IN1 - Input type of elements from the first stream
    IN2 - Input type of elements from the second stream
    KEY - The type of the key
    Enclosing class:
    KeyedStream<T,​KEY>

    @PublicEvolving
    public static class KeyedStream.IntervalJoined<IN1,​IN2,​KEY>
    extends Object
    IntervalJoined is a container for two streams that have keys for both sides as well as the time boundaries over which elements should be joined.
    • Constructor Detail

      • IntervalJoined

        public IntervalJoined​(KeyedStream<IN1,​KEY> left,
                              KeyedStream<IN2,​KEY> right,
                              long lowerBound,
                              long upperBound,
                              boolean lowerBoundInclusive,
                              boolean upperBoundInclusive)
    • Method Detail

      • sideOutputLeftLateData

        @PublicEvolving
        public KeyedStream.IntervalJoined<IN1,​IN2,​KEY> sideOutputLeftLateData​(org.apache.flink.util.OutputTag<IN1> outputTag)
        Send late arriving left-side data to the side output identified by the given OutputTag. Data is considered late after the watermark
      • sideOutputRightLateData

        @PublicEvolving
        public KeyedStream.IntervalJoined<IN1,​IN2,​KEY> sideOutputRightLateData​(org.apache.flink.util.OutputTag<IN2> outputTag)
        Send late arriving right-side data to the side output identified by the given OutputTag. Data is considered late after the watermark
      • process

        @PublicEvolving
        public <OUT> SingleOutputStreamOperator<OUT> process​(ProcessJoinFunction<IN1,​IN2,​OUT> processJoinFunction)
        Completes the join operation with the given user function that is executed for each joined pair of elements.
        Type Parameters:
        OUT - The output type.
        Parameters:
        processJoinFunction - The user-defined process join function.
        Returns:
        The transformed DataStream.
      • process

        @PublicEvolving
        public <OUT> SingleOutputStreamOperator<OUT> process​(ProcessJoinFunction<IN1,​IN2,​OUT> processJoinFunction,
                                                             org.apache.flink.api.common.typeinfo.TypeInformation<OUT> outputType)
        Completes the join operation with the given user function that is executed for each joined pair of elements. This methods allows for passing explicit type information for the output type.
        Type Parameters:
        OUT - The output type.
        Parameters:
        processJoinFunction - The user-defined process join function.
        outputType - The type information for the output type.
        Returns:
        The transformed DataStream.
      • enableAsyncState

        @Experimental
        public KeyedStream.IntervalJoined<IN1,​IN2,​KEY> enableAsyncState()
        Enable the async state processing for following keyed processing function. This also requires only State V2 APIs are used in the function.
        Returns:
        the configured IntervalJoin itself.