Class RowTimeIntervalJoin
- java.lang.Object
-
- org.apache.flink.api.common.functions.AbstractRichFunction
-
- org.apache.flink.streaming.api.functions.co.KeyedCoProcessFunction<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>
-
- org.apache.flink.table.runtime.operators.join.interval.RowTimeIntervalJoin
-
- All Implemented Interfaces:
Serializable,org.apache.flink.api.common.functions.Function,org.apache.flink.api.common.functions.RichFunction
public final class RowTimeIntervalJoin extends org.apache.flink.streaming.api.functions.co.KeyedCoProcessFunction<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>The function to execute row(event) time interval stream inner-join.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected longallowedLatenessprotected longleftOperatorTimeprotected longleftRelativeSizeprotected longrightOperatorTimeprotected longrightRelativeSize
-
Constructor Summary
Constructors Constructor Description RowTimeIntervalJoin(FlinkJoinType joinType, long leftLowerBound, long leftUpperBound, long allowedLateness, long minCleanUpInterval, InternalTypeInfo<org.apache.flink.table.data.RowData> leftType, InternalTypeInfo<org.apache.flink.table.data.RowData> rightType, IntervalJoinFunction joinFunc, int leftTimeIdx, int rightTimeIdx)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()longgetMaxOutputDelay()Get the maximum interval between receiving a row and emitting it (as part of a joined result).voidonTimer(long timestamp, org.apache.flink.streaming.api.functions.co.KeyedCoProcessFunction.OnTimerContext ctx, org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out)voidopen(org.apache.flink.api.common.functions.OpenContext openContext)voidprocessElement1(org.apache.flink.table.data.RowData leftRow, org.apache.flink.streaming.api.functions.co.KeyedCoProcessFunction.Context ctx, org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out)voidprocessElement2(org.apache.flink.table.data.RowData rightRow, org.apache.flink.streaming.api.functions.co.KeyedCoProcessFunction.Context ctx, org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out)
-
-
-
Constructor Detail
-
RowTimeIntervalJoin
public RowTimeIntervalJoin(FlinkJoinType joinType, long leftLowerBound, long leftUpperBound, long allowedLateness, long minCleanUpInterval, InternalTypeInfo<org.apache.flink.table.data.RowData> leftType, InternalTypeInfo<org.apache.flink.table.data.RowData> rightType, IntervalJoinFunction joinFunc, int leftTimeIdx, int rightTimeIdx)
-
-
Method Detail
-
getMaxOutputDelay
public long getMaxOutputDelay()
Get the maximum interval between receiving a row and emitting it (as part of a joined result). This is the time interval by which watermarks need to be held back.- Returns:
- the maximum delay for the outputs
-
open
public void open(org.apache.flink.api.common.functions.OpenContext openContext) throws Exception- Throws:
Exception
-
close
public void close() throws Exception- Specified by:
closein interfaceorg.apache.flink.api.common.functions.RichFunction- Overrides:
closein classorg.apache.flink.api.common.functions.AbstractRichFunction- Throws:
Exception
-
processElement1
public void processElement1(org.apache.flink.table.data.RowData leftRow, org.apache.flink.streaming.api.functions.co.KeyedCoProcessFunction.Context ctx, org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out) throws Exception- Specified by:
processElement1in classorg.apache.flink.streaming.api.functions.co.KeyedCoProcessFunction<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>- Throws:
Exception
-
processElement2
public void processElement2(org.apache.flink.table.data.RowData rightRow, org.apache.flink.streaming.api.functions.co.KeyedCoProcessFunction.Context ctx, org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out) throws Exception- Specified by:
processElement2in classorg.apache.flink.streaming.api.functions.co.KeyedCoProcessFunction<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>- Throws:
Exception
-
onTimer
public void onTimer(long timestamp, org.apache.flink.streaming.api.functions.co.KeyedCoProcessFunction.OnTimerContext ctx, org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out) throws Exception- Overrides:
onTimerin classorg.apache.flink.streaming.api.functions.co.KeyedCoProcessFunction<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>- Throws:
Exception
-
-