Class KeyedStream.IntervalJoined<IN1,IN2,KEY>

java.lang.Object
org.apache.flink.streaming.api.datastream.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 Details

    • IntervalJoined

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

    • upperBoundExclusive

      @PublicEvolving public KeyedStream.IntervalJoined<IN1,IN2,KEY> upperBoundExclusive()
      Set the upper bound to be exclusive.
    • lowerBoundExclusive

      @PublicEvolving public KeyedStream.IntervalJoined<IN1,IN2,KEY> lowerBoundExclusive()
      Set the lower bound to be exclusive.
    • 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.