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 streamIN2- Input type of elements from the second streamKEY- The type of the key
- Enclosing class:
- KeyedStream<T,
KEY>
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 Summary
ConstructorsConstructorDescriptionIntervalJoined(KeyedStream<IN1, KEY> left, KeyedStream<IN2, KEY> right, long lowerBound, long upperBound, boolean lowerBoundInclusive, boolean upperBoundInclusive) -
Method Summary
Modifier and TypeMethodDescriptionEnable the async state processing for following keyed processing function.Set the lower bound to be exclusive.<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.<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.sideOutputLeftLateData(org.apache.flink.util.OutputTag<IN1> outputTag) Send late arriving left-side data to the side output identified by the givenOutputTag.sideOutputRightLateData(org.apache.flink.util.OutputTag<IN2> outputTag) Send late arriving right-side data to the side output identified by the givenOutputTag.Set the upper bound to be exclusive.
-
Constructor Details
-
IntervalJoined
public IntervalJoined(KeyedStream<IN1, KEY> left, KeyedStream<IN2, KEY> right, long lowerBound, long upperBound, boolean lowerBoundInclusive, boolean upperBoundInclusive)
-
-
Method Details
-
upperBoundExclusive
Set the upper bound to be exclusive. -
lowerBoundExclusive
Set the lower bound to be exclusive. -
sideOutputLeftLateData
@PublicEvolving public KeyedStream.IntervalJoined<IN1,IN2, sideOutputLeftLateDataKEY> (org.apache.flink.util.OutputTag<IN1> outputTag) Send late arriving left-side data to the side output identified by the givenOutputTag. Data is considered late after the watermark -
sideOutputRightLateData
@PublicEvolving public KeyedStream.IntervalJoined<IN1,IN2, sideOutputRightLateDataKEY> (org.apache.flink.util.OutputTag<IN2> outputTag) Send late arriving right-side data to the side output identified by the givenOutputTag. 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
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.
-