public final class RowTimeIntervalJoin extends KeyedCoProcessFunction<RowData,RowData,RowData,RowData>
KeyedCoProcessFunction.Context, KeyedCoProcessFunction.OnTimerContext
Modifier and Type | Field and Description |
---|---|
protected long |
allowedLateness |
protected long |
leftOperatorTime |
protected long |
leftRelativeSize |
protected long |
rightOperatorTime |
protected long |
rightRelativeSize |
Constructor and Description |
---|
RowTimeIntervalJoin(FlinkJoinType joinType,
long leftLowerBound,
long leftUpperBound,
long allowedLateness,
long minCleanUpInterval,
InternalTypeInfo<RowData> leftType,
InternalTypeInfo<RowData> rightType,
IntervalJoinFunction joinFunc,
int leftTimeIdx,
int rightTimeIdx) |
Modifier and Type | Method and Description |
---|---|
void |
close()
Tear-down method for the user code.
|
long |
getMaxOutputDelay()
Get the maximum interval between receiving a row and emitting it (as part of a joined
result).
|
void |
onTimer(long timestamp,
KeyedCoProcessFunction.OnTimerContext ctx,
Collector<RowData> out)
Called when a timer set using
TimerService fires. |
void |
open(OpenContext openContext)
Initialization method for the function.
|
void |
processElement1(RowData leftRow,
KeyedCoProcessFunction.Context ctx,
Collector<RowData> out)
This method is called for each element in the first of the connected streams.
|
void |
processElement2(RowData rightRow,
KeyedCoProcessFunction.Context ctx,
Collector<RowData> out)
This method is called for each element in the second of the connected streams.
|
getIterationRuntimeContext, getRuntimeContext, setRuntimeContext
protected final long leftRelativeSize
protected final long rightRelativeSize
protected final long allowedLateness
protected long leftOperatorTime
protected long rightOperatorTime
public RowTimeIntervalJoin(FlinkJoinType joinType, long leftLowerBound, long leftUpperBound, long allowedLateness, long minCleanUpInterval, InternalTypeInfo<RowData> leftType, InternalTypeInfo<RowData> rightType, IntervalJoinFunction joinFunc, int leftTimeIdx, int rightTimeIdx)
public long getMaxOutputDelay()
public void open(OpenContext openContext) throws Exception
RichFunction
The openContext object passed to the function can be used for configuration and initialization. The openContext contains some necessary information that were configured on the function in the program composition.
public class MyFilter extends RichFilterFunction<String> {
private String searchString;
public void open(OpenContext openContext) {
// initialize the value of searchString
}
public boolean filter(String value) {
return value.equals(searchString);
}
}
open
in interface RichFunction
open
in class AbstractRichFunction
openContext
- The context containing information about the context in which the function
is opened.Exception
- Implementations may forward exceptions, which are caught by the runtime.
When the runtime catches an exception, it aborts the task and lets the fail-over logic
decide whether to retry the task execution.public void close() throws Exception
RichFunction
This method can be used for clean up work.
close
in interface RichFunction
close
in class AbstractRichFunction
Exception
- Implementations may forward exceptions, which are caught by the runtime.
When the runtime catches an exception, it aborts the task and lets the fail-over logic
decide whether to retry the task execution.public void processElement1(RowData leftRow, KeyedCoProcessFunction.Context ctx, Collector<RowData> out) throws Exception
KeyedCoProcessFunction
This function can output zero or more elements using the Collector
parameter and
also update internal state or set timers using the KeyedCoProcessFunction.Context
parameter.
processElement1
in class KeyedCoProcessFunction<RowData,RowData,RowData,RowData>
leftRow
- The stream elementctx
- A KeyedCoProcessFunction.Context
that allows querying the timestamp of the element, querying the
TimeDomain
of the firing timer and getting a TimerService
for registering
timers and querying the time. The context is only valid during the invocation of this
method, do not store it.out
- The collector to emit resulting elements toException
- The function may throw exceptions which cause the streaming program to fail
and go into recovery.public void processElement2(RowData rightRow, KeyedCoProcessFunction.Context ctx, Collector<RowData> out) throws Exception
KeyedCoProcessFunction
This function can output zero or more elements using the Collector
parameter and
also update internal state or set timers using the KeyedCoProcessFunction.Context
parameter.
processElement2
in class KeyedCoProcessFunction<RowData,RowData,RowData,RowData>
rightRow
- The stream elementctx
- A KeyedCoProcessFunction.Context
that allows querying the timestamp of the element, querying the
TimeDomain
of the firing timer and getting a TimerService
for registering
timers and querying the time. The context is only valid during the invocation of this
method, do not store it.out
- The collector to emit resulting elements toException
- The function may throw exceptions which cause the streaming program to fail
and go into recovery.public void onTimer(long timestamp, KeyedCoProcessFunction.OnTimerContext ctx, Collector<RowData> out) throws Exception
KeyedCoProcessFunction
TimerService
fires.onTimer
in class KeyedCoProcessFunction<RowData,RowData,RowData,RowData>
timestamp
- The timestamp of the firing timer.ctx
- An KeyedCoProcessFunction.OnTimerContext
that allows querying the timestamp of the firing timer,
querying the TimeDomain
of the firing timer and getting a TimerService
for registering timers and querying the time. The context is only valid during the
invocation of this method, do not store it.out
- The collector for returning result values.Exception
- This method may throw exceptions. Throwing an exception will cause the
operation to fail and may trigger recovery.Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.